kind: pipeline type: docker name: deployment steps: # - name: check # image: alpine # commands: # - ls -la # - ls -la Dockerfile # 查看当前文件夹是否包含了Dockerfile # - name: publish # image: plugins/docker # settings: # username: # from_secret: nexus_username # password: # from_secret: nexus_password # pull: if-not-exists # 如果镜像不存在则拉取,免去每次都要重新下载 # dockerfile: Dockerfile # tags: latest # # you need insecure: true since we don't have a TLS certificate # insecure: true # registry: 192.168.31.104:8082 # repo: 192.168.31.104:8082/tiamo/user-point-management # volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置 # - name: dockersock # path: /var/run/docker.sock - name: deploy pull: if-not-exists image: appleboy/drone-ssh environment: Connection: from_secret: connection username: from_secret: nexus_username password: from_secret: nexus_password settings: host: 192.168.31.225 port: 22 username: drone password: dronepw command_timeout: 2m script: - docker login -u $username -p $password 192.168.31.104:8082 - docker pull 192.168.31.104:8082/tiamo/user-point-management - docker image prune -f - docker stop user-point-management - docker container prune -f - docker tag 192.168.31.104:8082/tiamo/user-point-management tiamo/user-point-management:latest - docker run --name user-point-management -d -p 29029:5000 -e Connection__UserPointManagement = "Server=67.230.184.225;Port=58007;UserId=postgres;Password=postgres;Database=tiamo;" tiamo/user-point-management - echo 执行完成 volumes: - name: dockersock host: path: /var/run/docker.sock #trigger: # branch: # - master