三分鐘學會通過docker管理jenkins部署一個springboot項目

1.首先安裝docker,VMware虛擬機ubuntu16.04安裝docker以及docker swarm
2.然後通過docker安裝jenkins,ubuntu 中基於docker運行jenkins
3.下載Maven Integration插件
在這裏插入圖片描述
在這裏插入圖片描述
4.全局工具配置,讓jenkins自動下載maven插件。(ps:jdk jenkins鏡像自帶,無需下載)
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
5.構建一個maven項目
在這裏插入圖片描述
在這裏插入圖片描述
找到源碼管理中的Git,這裏項目地址是一個我的github項目,所有人都可以使用,地址:https://github.com/17680502002/demo.git
在這裏插入圖片描述
Build中 Goals and options填入打包命令clean package -DskipTests=true 後面這個DskipTests參數意思爲跳過測試
在這裏插入圖片描述
Add post-build step,填入打包之後的shell腳本
在這裏插入圖片描述
腳本如下:

#!/bin/bash
#輸出demo-0.0.1-SNAPSHOT.jar進程的pid
pid=`ps -ef | grep demo-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`  
#判斷pid是否有值,有就是運行過了,就kill掉
if [ -n "$pid" ]
then
   kill -9 $pid
fi
#拷貝demo-0.0.1-SNAPSHOT.jar 到/home/demo-0.0.1-SNAPSHOT.jar
cp $WORKSPACE/target/demo-0.0.1-SNAPSHOT.jar /home/demo-0.0.1-SNAPSHOT.jar
#nohup運行demo-0.0.1-SNAPSHOT.jar,可以用-Dserver.port=8081指定端口
BUILD_ID=dontKillMe nohup java -jar -Dserver.port=8081 /home/demo-0.0.1-SNAPSHOT.jar &

最後,點擊項目構建,查看控制檯打印信息,項目就構建好了
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
這裏用的maven是官方庫,如果速度慢,可以更改maven配置文件

sudo vim /home/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven/conf/settings.xml#這裏注意一點,conf目錄前面的maven這個是你在全局配置的時候自定義的名字
在相應位置加入如下配置
<localRepository>
/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/jenkins-in-maven/repository
</localRepository>

<mirror>
  <id>alimaven</id>
  <name>aliyun maven</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>
</mirror>

6.此時項目構建完了,外部訪問192.168.xxx.xxx:8081還是訪問不到,因爲shell腳本是運行在容器中的,所以運行了java -jar是在容器內部,還需要docker端口與容易端口映射。
先獲得容器IP

docker inspect `jenkins` | grep IPAddress

輸入下面三條命令,(172.17.0.2爲上面獲取的容器IP),可以讓docker容易不停止就能新增端口映射

sudo iptables -t nat -A DOCKER -p tcp --dport 8081 -j DNAT --to-destination 172.17.0.2:8081

sudo iptables -t nat -A POSTROUTING -j MASQUERADE -p tcp --source 172.17.0.2 --destination 172.17.0.2 --dport 8081

sudo iptables -A DOCKER -j ACCEPT -p tcp --destination 172.17.0.2 --dport 8081

下面這條命令是查看docker端口和容器端口映射的
sudo iptables -L DOCKER -n --line-number

最後外部訪問192.168.xxx.xxx:8081成功
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章