Jenkins发布docker应用与发布java应用配置基本一致,须要配置Dockerfile及构建的步骤,步骤以下:java
一、jenkins主机构建应用为jar包docker
二、jenkins主机把生产的jar包构建为docekr镜像vim
三、jenkins主机把构建好的镜像推送至镜像仓库centos
四、目标主机去镜像仓库拉取镜像bash
五、目标主机以拉取的最新镜像启动新的服务服务器
注意:须要在jenkins以及目标主机部署docker服务,关于docker的部署网上问的一堆,请自行百度。app
一、新建项目maven
跟据以前建立任务同样,建立maven项目ui
二、项目配置spa
a)源码管理:指定代码仓库位置,以及分支
b)build
c)Post Steps
指定构建docker镜像的命令
说明:这里是说把打包好的jar包复制到咱们建立好的构建eureka镜像的目录
build.sh 是一个脚本,用来构建镜像,并把镜像推送至指定镜像仓库,脚本内容以下:
[tchua@centos01 one-eureka]$ vim build.sh
#!/bin/bash docker_hub="registry-vpc.cn-hangzhou.aliyuncs.com/xxx/uat-images" ## 镜像仓库地址 TAG="eureka" #rm docker rmi ${docker_hub}:$TAG ## 删除上一次构建镜像 #login docker login -u ${USER} -p ${PASSWD} ${docker_hub} ## 登录镜像仓库,${USER} ${PASSWD}修改成本身具体的用户名密码 #build docker build -t ${docker_hub}:$TAG . ## 构建新镜像,. 是指DOckerfile在当前目录下 #push docker push ${docker_hub}:$TAG ## 推送镜像至镜像仓库
镜像构建须要一个Dockerfile,Dockerfile文件内容:
FROM registry-vpc.cn-hangzhou.aliyuncs.com/vanje_one/software:java1.8 MAINTAINER vanje@vanje.com.cn ADD eureka-1.0.0.jar /apps/ EXPOSE 8076 ENTRYPOINT ["java","-jar","/apps/eureka-1.0.0.jar"]
d)构建后操做
说明:这里是远程登录服务器执行服务启动脚本。
脚本内容以下:
#!/bin/bash docker_hub="registry-vpc.cn-hangzhou.aliyuncs.com/vanje_one/uat-images" ## 镜像仓库地址 TAG="eureka" #rm docker rm -f eureka ## 删除现有容器 docker rmi ${docker_hub}:${TAG} ## 删除现有容器镜像 #login docker login -u ${USER} -p ${PASSWD} ${docker_hub} ## 登录镜像仓库,${USER} ${PASSWD}修改成本身具体的用户名密码 docker pull ${docker_hub}:${TAG} ## 拉去镜像 docker run --name eureka -p 8076:8076 -d ${docker_hub}:${TAG} ## 启动指定镜像服务
三、发布
以上保存点击发布后,查看控制台日志能够看到对应的构建信息: