實踐性嘗試,這裏只在一臺虛擬機下操做。html
設置centos 橋接模式
參考:https://www.cnblogs.com/loven...java
1) docker 安裝git
yum install -y docker
2)JDK 安裝github
參考:https://blog.csdn.net/evan_chen_1/article/details/55097252
3)Maven 安裝docker
參考:https://blog.csdn.net/mynameissls/article/details/54140176
4)Git 安裝centos
yum install git
5)安裝jenkins瀏覽器
參考:https://www.cnblogs.com/woshimrf/p/6103366.html
安裝插件app
Locale plugin 設置中文界面 設置參考: https://www.cnblogs.com/hanxiaohui/p/8136621.html Publish Over SSH 配置SSH登錄centos 使用Publish Over SSH插件實現遠程自動部署 參考: https://www.cnblogs.com/YatHo/p/6739814.html
本例配置以下maven
Locale plugin測試
Publish Over SSH
本例演示項目地址爲:https://github.com/chendishen...
1)配置General
上圖中git項目是個人一個測試項目
2)源碼管理
3)構建觸發器
Poll SCM:定時檢查源碼變動(根據SCM軟件的版本號),若是有更新就checkout最新code下來,而後執行構建動做。個人配置以下:
勾選 Poll SCM ,日程表填入: `* * * * *` (5個*),忽視警告
4)構建環境
不設置
5)構建
maven version 選擇 maven
Goals : clean package
6)構建後操做
在配置最後找到「增長構建後操做步驟」,選擇"Send build artifacts over SSH"
配置說明:
1.SSH Server Name 就是前面配置的Publish Over SSH 的名稱
2.Source files 是指源文件位置,這個位置是在jenkins的工做目錄下的job文件在內 ,
(/var/lib/jenkins/workspace/cicd_demo 默認路徑 cicd_demo是個人job名稱,maven 編譯後會在此文件內建立 target 目錄, cicd-demo*.jar是構建後jar包命名前綴+版本號
見pom.xml 中 artifactId )
3.Remove prefix 刪除前綴 target
4.Remote directory 遠程目錄,結合前面Publish Over SSH配置就是 /root/test 目錄,這些配置完畢之後, jenkins 在編譯成功後,就會自動把 文件 copy 到 B主機下的/root/test
5.Exec command , 我這裏的操做是吧 主機 /root/test 的文件 複製到 我本身的 /usr/local/project/cicd_demo下 而後進入到此目錄,執行個人 buildimage.sh 和 run.sh
配置中的目錄和文件須要提早建立
mkdir /usr/local/project/cicd_demo
在/usr/local/project/cicd_demo目錄下
文件說明
buildimage.sh 用來構建鏡像
Dockerfile 爲構建鏡像所需文件
run.sh 用來啓動容器
buildimage.sh建立
vi /usr/local/project/cicd_demo/buildimage.sh
buildimage.sh 內容:
docker build -t cicd_demo:1.0 .
Dockerfile建立
vi /usr/local/project/cicd_demo/Dockerfile
Dockerfile內容:
# 版本信息 #java:latest 爲centos官方java運行環境鏡像,600多M ,能夠提早pull到主機本地 FROM java:latest MAINTAINER cds "352826256@qq.com" #實際上能夠配置成變量 ADD cicd-demo-1.0.jar /usr/local/jar/ RUN mv /usr/local/jar/cicd-demo-1.0.jar /usr/local/jar/app.jar #開啓內部服務端口 cicd-demo 項目端口 EXPOSE 8090 CMD ["java","-jar","/usr/local/jar/app.jar"]
run.sh 建立
vi /usr/local/project/cicd_demo/run.sh
run.sh 內容 :
docker rm -f cicd_demo docker run --name="cicd_demo" -p 8090:8090 -d cicd_demo:1.0
控制檯輸出以下
至此自動構建任務完成
在物理機瀏覽器輸入 http://192.168.1.104:8090/index