三分钟学会通过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成功
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章