用docker安装部署jenkins,并将springboot项目部署
- 拉取镜像
docker pull jenkins/jenkins:centos
ps:这里拉取的并非官方镜像,这里镜像整合了jdk与maven,运行时只要挂载即可
- 创建本地数据卷
mkdir -p /data/jenkins_home/
修改目录权限
chown -R 1000:1000 /data/jenkins_home/
- 运行成容器
docker run -d -p 3344:8080 -p 50000:50000 -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/mv:/usr/bin/mv -v /usr/local/jdk1.8.0_221/bin:/usr/local/jdk1.8.0_221/bin -v /usr/local/jdk1.8.0_221:/usr/local/jdk1.8.0_221 -v /usr/local/apache-maven-3.6.3:/usr/local/apache-maven-3.6.3 -v /etc/localtime:/etc/localtime -v /data/jenkins_home:/var/jenkins_home --name jenkins jenkins/jenkins:centos
ps:我这里开放的是3344端口,注意挂载docker环境,jdk,maven及时区等,注意挂载git会报错
- 打开jenkins
通过浏览器访问 http://47.95.235.111:3344/(注意替换成你自己的IP和端口)进入初始页
- 获取密码
因为是docker运行,密码在容器中
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
因为是挂载运行,所以也可通过以下命令获取
cat /data/jenkins_home/secrets/initialAdminPassword
- 选安装推荐插件、实例配置默认就行,创建管理员自行创建
- 全局工具配置
打开系统管理 -> 全局工具配置
依次配置jdk,git与maven(jdk和maven在/etc/profile文件中找,git用whereis git命令查找)
8. 安装插件
系统管理 -> 插件管理
在可选插件中搜索 Maven Integration 和 Publish Over SSH
安装完成后重启即可
9. 添加SSH Server
系统管理 -> 系统配置
点击新增,再点击高级进行配置
如图填写,其它默认即可,测试连接通过就行
10. 新增任务
按如下进行配置即可
general
源码管理
构建触发器
轮询SCM
#每半小时构建一次OR每半小时检查一次远程代码分支,有更新则构建
H/30 * * * *
#每两小时构建一次OR每两小时检查一次远程代码分支,有更新则构建
H H/2 * * *
#每天凌晨两点定时构建
H 2 * * *
构建环境
build
clean package -Dmaven.test.skip=true
post steps
脚本startup.sh
#!/bin/sh
# 使环境生效
source /etc/profile
# jar包名称
project=ruoyi-admin.jar
# jar包路径
dir=/mydata/app/ruoyi-admin/18081/
# 运行时参数
JVM_OPTS="--server.port=18081 -Dname=$project -Duser.timezone=Asia/Shanghai -Xms512M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
# 若当前jar包运行,杀死进程并重启,若不在运行,则直接启动
pid=`ps -ef | grep $dir$project | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
nohup java -jar $dir$project $JVM_OPTS &
ps:别忘了给sh文件权限 chmod +x startup.sh
ps:常见问题解决方案
ERROR: Maven JVM terminated unexpectedly with exit code 137
解决:https://www.cnblogs.com/zzb-yp/p/11890976.html
文章参考链接:https://segon.cn/install-jenkins-using-docker.html
文章参考链接:https://segon.cn/jenkins-deploy-springboot.html
文章参考链接:https://www.cnblogs.com/spll/p/9952651.html