【Docker+Jenkins】三、Jenkins连接Git自动打包部署

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43227967/article/details/100116136

一、基于Docker部署安装Jenkins

二、Jenkins私服配置、环境配置与插件安装

三、Jenkins连接Git自动打包部署

目录

一、新建任务

二、对任务进行配置

2.1、配置项目

2.2、添加Git配置

2.3、配置构建Build

2.4、保存更改

三、自动化打包构建

四、自动化部署

4.1、配置Shell脚本

五、开始自动构建

六、配置端口映射访问项目

七、一直转圈圈


一、新建任务

点击新建任务菜单

输入名称,选择构建一个Maven项目,点击确定

点击保存即可

任务信息

回到页面即可看到信息,由于刚建立的任务所以并没有上次记录,菜单可以对任务进行一些设置等

二、对任务进行配置

2.1、配置项目

点击配置

2.2、添加Git配置

发现回到了建立项目时的配置处

点击源码管理->添加Git->按步骤

码云Http地址查看示例

由于仓库是私密的,所以需要配置密码,添加Jenkins

添加凭据 -> 用户名和密码为Git配置的用户名和密码 -> 点击添加即可

添加之后一定要点击选择

Git配置完成

2.3、配置构建Build

输入clean install 表示打包 即可

2.4、保存更改

三、自动化打包构建

点击立即构建即可

单击控制台输出可以看到日志信息

日志信息简介

首次运行会下载很多jar文件,需要耐心等待

构建完成

构建完成会提示SUCCESS,根据Install的路径在容器内cd进入然后查看jar文件,如图:

四、自动化部署

首先部署有两种第一种当然就是Java -jar运行如图:

当然这种方式并没有多大作用,来看看自动部署

4.1、配置Shell脚本

找到需要配置的项目,设置点击执行Shell

输入该段命令

#!/bin/bash
#服务名称  尽量与Jenkins发布名称相同  当然Jenkins发布名称一般都会是项目名称
SERVER_NAME=2
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行  
JAR_NAME=meitedu_springboot-0.0.1-SNAPSHOT
# 源jar路径  
#/usr/local/jenkins_home/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/2/target/
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建,配置与上方相同则代表无处理
JAR_WORK_PATH=/var/jenkins_home/workspace/2/target/
#------------上方的需要更改,下方无需更改----------------------
# 如果存在该进程就先杀掉再运行 
echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo "得到进程ID:$PID"
echo "结束进程"
for id in $PID
do
kill -9 $id  
echo "killed $id"  
done
echo "结束进程完成"
 
#复制jar包到执行目录
echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "复制jar包完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar
 
java -jar $JAR_NAME.jar

##BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &

保存即可

五、开始自动构建

选择立即构建即可

启动成功即可,会发现浏览器是访问不了的,但是可以根据 127.0.0.1+端口号在容器内部访问

六、配置端口映射访问项目

由于Jenkins在容器内部安装,所以需要配置映射,此时重启docker,删除已经存在的容器重新运行一遍即可

systemctl restart docker #重启docker
docker rm jenkins #删除已有的jenkins容器
#此命令代表内部访问为8080(容器) 外部访问为8087映射端口(浏览器) 50000为Jenkins信息,如下图
docker run -p 8080:8080   -p 8658:8658 -p 50000:50000 --name jenkins -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

运行命令后重新进入Jenkis部署一遍,即可通过 IP地址 + 端口号 在浏览器端进行访问项目了!

PS:在首页列表即可快速构建

七、一直转圈圈

在运行时会发现即使成功构建也一直转圈圈显示未停止,那么原因是因为Java -jar运行方式本身就是前台运行的,修改配置文末尾运行命令即可

java -jar $JAR_NAME.jar

替换为

BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &

即可

完成重启如图:不再转圈!

猜你喜欢

转载自blog.csdn.net/qq_43227967/article/details/100116136