12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- kind: pipeline
- type: docker
- name: pipeline-example-maven
- trigger:
- branch:
- - develop
- clone:
- disable: true # 禁用自带的clone
- # clone代码
- steps:
- - name: clone
- image: alpine/git
- volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置
- - name: host-mount
- path: /data # 将maven下载依赖的目录挂载出来,防止重复下载
- commands:
- - git clone http://124.222.247.184:3000/root/courtBooking.git
- # 把这里改成了自己的仓库地址
- # http://124.222.247.184:3000/wteamYD/promotesai-background.git .
- - git checkout develop
- - cp *.sh /data
- when:
- event:
- - push # 当代码 push 时才重新拉取
- # 传输shell脚本到目标主机
- - name: scp files
- image: ryjer/drone-scp
- volumes: #将主机的shell脚本与容器共享
- - name: host-mount
- path: /data
- settings:
- host: 42.194.177.220
- username: root
- password:
- from_secret: 42.194.177.220_password # 从Secret中读取SSH密码
- port: 22
- rm: true
- source:
- - /data
- target:
- - /data/sh/
- environment:
- AUTO_CREATE_DIR: "true" # 自动创建目标目录
- when:
- event:
- - push # 当代码 push 时才重新上传
- # 启动shell脚本
- - name: spring-start 部署并重启
- image: appleboy/drone-ssh # SSH工具镜像
- settings:
- host: 42.194.177.220 # 远程连接地址
- username: root # 远程连接账号
- password:
- from_secret: 42.194.177.220_password # 从Secret中读取SSH密码
- port: 22 # 远程连接端口
- command_timeout: 5m # 远程执行命令超时时间
- script:
- - cd /data/sh # 进入宿主机构建目录
- - chmod +x develop.sh # 更改为可执行脚本
- - ./develop.sh # 运行脚本打包应用镜像并运行
- when:
- event:
- - push # 当代码 push 时才重新上传
- volumes: # 定义流水线挂载目录,用于共享shell脚本
- - name: host-mount
- host:
- path: /mydata/sh/ # 从宿主机中挂载的目录
|