三分钟学会通过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成功
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小明程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值