1.在eureka job中添加shell推送到docker registry
docker tag sm/eureka:2.0.0-SNAPSHOT 192.168.226.132:5000/sm/eureka:2.0.0-SNAPSHOTdocker push 192.168.226.132:5000/sm/eureka:2.0.0-SNAPSHOT
- 编写部署文件deploy-dev.yml
version: "3"services: peer1: image: 192.168.226.132:5000/sm/eureka:2.0.0-SNAPSHOT deploy: replicas: 1 restart_policy: condition: on-failure ports: - "8761:8761" networks: - springcloud-overlay environment: - spring.profiles.active=peer1,dev peer2: image: 192.168.226.132:5000/sm/eureka:2.0.0-SNAPSHOT deploy: replicas: 1 restart_policy: condition: on-failure ports: - "8762:8762" networks: - springcloud-overlay environment: - spring.profiles.active=peer2,dev peer3: image: 192.168.226.132:5000/sm/eureka:2.0.0-SNAPSHOT deploy: replicas: 1 restart_policy: condition: on-failure ports: - "8763:8763" networks: - springcloud-overlay environment: - spring.profiles.active=peer3,devnetworks: springcloud-overlay:
3.jenkins安装Publish Over SSH
4.配置Publish Over SSH
5.新建job eureka_deploy,配置git略
6.构建->执行shell
cd Deploy/2.0/dos2unix deploy-dev.yml
7.使用Publish Over SSH上传文件并执行远程shell
8.查看控制台输出
[EnvInject] - Loading node environment variables.Building in workspace /var/lib/jenkins/workspace/eureka_deploy > git rev-parse --is-inside-work-tree # timeout=10Fetching changes from the remote Git repository > git config remote.origin.url https://J.SM.MicroService.git # timeout=10Fetching upstream changes from https://J.SM.MicroService.git > git --version # timeout=10using GIT_ASKPASS to set credentials > git fetch --tags --progress https://J.SM.MicroService.git +refs/heads/*:refs/remotes/origin/* > git rev-parse refs/remotes/origin/feature_v1.8^{commit} # timeout=10 > git rev-parse refs/remotes/origin/origin/feature_v1.8^{commit} # timeout=10Checking out Revision dbcadb6ecbb32598250a4daa84e07f5ff9e81b46 (refs/remotes/origin/feature_v1.8) > git config core.sparsecheckout # timeout=10 > git checkout -f dbcadb6ecbb32598250a4daa84e07f5ff9e81b46 > git rev-list --no-walk dbcadb6ecbb32598250a4daa84e07f5ff9e81b46 # timeout=10[eureka_deploy] $ /bin/sh -xe /tmp/jenkins5397675522317799624.sh+ cd Deploy/2.0/+ dos2unix deploy-dev.ymldos2unix: converting file deploy-dev.yml to Unix format ...SSH: Connecting from host [localhost.localdomain]SSH: Connecting with configuration [docker swarm leader] ...SSH: EXEC: STDOUT/STDERR from command [cd workspace/Deploy/2.0docker stack deploy -c deploy-dev.yml sm] ...Updating service sm_peer1 (id: gwatimhwbhggoaua9pmsgt2nu)Updating service sm_peer2 (id: amhjwzy3wf3dvr1ehncrenls0)Updating service sm_peer3 (id: r0bjgtkdquui4is122x4cookk)SSH: EXEC: completed after 1,003 msSSH: Disconnecting configuration [docker swarm leader] ...SSH: Transferred 1 file(s)Finished: SUCCESS
9.访问一下