123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- # drone 自动构建
- name: test-project autodeploy
- kind: pipeline
- type: docker
- clone:
- # 不需要拉取 commit 历史,加快速度
- depth: 1
- # 需要 clone
- disable: false
- # drone 构建步骤
- steps:
- - name: Compile & Package
- pull: if-not-exists
- image: cnlym/maven:3-jdk-21-alpine-aliyun
- commands:
- # 开始打包maven工程 跳过测试步骤
- - mvn clean package -Dmaven.test.skip=true -T 1C
- - cp target/executable.jar ./executable.jar
- - name: Upload Jar
- pull: if-not-exists
- image: appleboy/drone-scp
- settings:
- host:
- from_secret: ssh_host
- username:
- from_secret: ssh_user
- password:
- from_secret: ssh_pwd
- port:
- from_secret: ssh_port
- target: /opt/bin/java
- #cicd/${DRONE_REPO_NAME}
- source: ./executable.jar
- when:
- branch:
- - master
- - name: SSH & Start
- pull: if-not-exists
- image: appleboy/drone-ssh
- settings:
- host:
- from_secret: ssh_host
- username:
- from_secret: ssh_user
- password:
- from_secret: ssh_pwd
- port:
- from_secret: ssh_port
- # TODO 【优化】cicd部署脚本未返回,而是10min超时,这个现象其他人也有遇到 https://github.com/appleboy/drone-ssh/issues/125
- command_timeout: 9m
- script:
- # 运行部署脚本
- #- cd /opt/bin/java/cicd
- # 停掉进程
- - /opt/bin/java/tryStop.sh
- # 搬运之前的日志
- - mkdir -p /opt/bin/java/historyLogs
- - mv /opt/bin/java/logs /opt/bin/java/historyLogs/before_build_${DRONE_BUILD_NUMBER}
- - mkdir -p /opt/bin/java/logs
- - echo '${DRONE_BUILD_NUMBER}' > /opt/bin/java/logs/drone_ci_build.no
- - date > /opt/bin/java/logs/drone_ci_build.time
- - /opt/bin/java/run.sh
- # 部署命令一定要放到drone的最后一条命令,这样在脚本中抛出异常退出后,drone可以捕捉到异常退出,将该次构建标记为构建失败
- - /opt/bin/java/syncDetectAppHasStart.sh PomUpdateApplication
- when:
- branch:
- - master
- # 每5s检测health端口启动成功,10min超时
- # - name: SSH & Start
- # pull: if-not-exists
- # image: appleboy/drone-ssh
- - name: Build Notification. --- with DingTalk
- image: guoxudongdocker/drone-dingtalk
- settings:
- token:
- from_secret: ding_token
- type: markdown
- # drone执行触发分支
- trigger:
- branch:
- - master
- event:
- - push
|