kind: pipeline type: docker name: kxs-gateway volumes: # 声明数据卷 - name: mvn_repo # 数据卷名称 # Host Volume, 挂载到宿主机上的卷轴 host: # 宿主机的绝对路径 path: /home/ABServer/cache/mvn_repo - name: mvn_config host: path: /home/ABServer/config/mvn/ - name: targetDir host: path: /kxs-gateway clone: disable: false # 启用代码拉取 steps: - name: build-project image: maven:3.9.4-amazoncorretto-17 pull: if-not-exists depends_on: [clone] # 依赖的步骤 volumes: # 挂载数据卷 - name: mvn_repo # 数据卷名称 path: /usr/share/maven/repo # 容器内目录 绝对路径 - name: targetDir path: /drone/src/dist/ - name: mvn_config path: /usr/share/maven/conf/ commands: # 执行命令 - mvn clean package -Dmaven.test.skip=true -P test - cp /drone/src/kxs-gateway/target/*.jar /drone/src/dist/ && cp -r /drone/src/kxs-gateway/target/lib /drone/src/dist/ && cp -r /drone/src/kxs-gateway/target/config /drone/src/dist/ # 复制文件 when: status: - success # 当前步骤成功时执行 - name: scp-project image: appleboy/drone-scp pull: if-not-exists depends_on: [build-project] # 依赖的步骤 volumes: # 挂载数据卷 - name: targetDir # 数据卷名称 path: /kxs-gateway # 容器内目录 绝对路径 settings: host: from_secret: host username: from_secret: username password: from_secret: userpwd port: 22 command_timeout: 2m target: /home/ABServer/deploy-ready/ source: - echo ====开始拷贝======= - /kxs-gateway/*.jar - /kxs-gateway/lib - /kxs-gateway/config - echo ====结束拷贝======= when: status: - success # 当前步骤成功时执行 - name: deploy-project image: appleboy/drone-ssh pull: if-not-exists depends_on: [scp-project] # 依赖的步骤 settings: host: from_secret: host username: from_secret: username password: from_secret: userpwd port: 22 command_timeout: 2m script: - echo ====开始部署======= - cd /home/ABServer/ - cp -r /home/ABServer/deploy-ready/kxs-gateway /home/ABServer/webroot/ - docker stop kxs-gateway && docker rm kxs-gateway && docker-compose up -d # - docker restart nodeServer1 - echo ====部署成功======= trigger: branch: include: - master event: include: - pull_request - push --- kind: pipeline type: docker name: kxs-transfer volumes: # 声明数据卷 - name: mvn_repo # 数据卷名称 # Host Volume, 挂载到宿主机上的卷轴 host: # 宿主机的绝对路径 path: /home/ABServer/cache/mvn_repo - name: mvn_config host: path: /home/ABServer/config/mvn/ - name: targetDir host: path: /kxs-transfer clone: disable: false # 启用代码拉取 steps: - name: build-project image: maven:3.9.4-amazoncorretto-17 pull: if-not-exists depends_on: [clone] # 依赖的步骤 volumes: # 挂载数据卷 - name: mvn_repo # 数据卷名称 path: /usr/share/maven/repo # 容器内目录 绝对路径 - name: targetDir path: /drone/src/dist/ - name: mvn_config path: /usr/share/maven/conf/ commands: # 执行命令 - mvn clean package -Dmaven.test.skip=true -P test - cp /drone/src/kxs-transfer/target/*.jar /drone/src/dist/ && cp -r /drone/src/kxs-transfer/target/lib /drone/src/dist/ && cp -r /drone/src/kxs-transfer/target/config /drone/src/dist/ # 复制文件 when: status: - success # 当前步骤成功时执行 - name: scp-project image: appleboy/drone-scp pull: if-not-exists depends_on: [build-project] # 依赖的步骤 volumes: # 挂载数据卷 - name: targetDir # 数据卷名称 path: /kxs-transfer # 容器内目录 绝对路径 settings: host: from_secret: host username: from_secret: username password: from_secret: userpwd port: 22 command_timeout: 2m target: /home/ABServer/deploy-ready/ source: - echo ====开始拷贝======= - /kxs-transfer/*.jar - /kxs-transfer/lib - /kxs-transfer/config - echo ====结束拷贝======= when: status: - success # 当前步骤成功时执行 - name: deploy-project image: appleboy/drone-ssh pull: if-not-exists depends_on: [scp-project] # 依赖的步骤 settings: host: from_secret: host username: from_secret: username password: from_secret: userpwd port: 22 command_timeout: 2m script: - echo ====开始部署======= - cd /home/ABServer/ - cp -r /home/ABServer/deploy-ready/kxs-transfer /home/ABServer/webroot/ - docker stop kxs-transfer && docker rm kxs-transfer && docker-compose up -d # - docker restart nodeServer1 - echo ====部署成功======= trigger: branch: include: - release-transfer event: include: - pull_request - push