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} ## 啓動指定鏡像服務
三、發佈
以上保存點擊發布後,查看控制檯日誌能夠看到對應的構建信息: