1、linux 服务安装JDK、安装Git、安装maven、安装tomcat
2、安装jenkiins 下载对应版本的jenkins war包 请根据自身服务器JDK版本下载
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
3、启动jenkins 启动后进入jenkins出现反向代理错误请修改prefix和浏览器地址访问的后缀一致
使用nohup java -jar jenkins.war --httpPort=8080 --prefix="/Jenkins" & 启动jenkins
4、第一次启动后密码密码会输出在jenkins.war同级目录下的nohup.out文件中
5、安装默认插件 使用gitLab安装 GitLab API
6、系统管理->系统配置(Configure System)-GItLab 配置git

Gitlab Api token生成方式 如下:
登录gitlab右上角点击设置

回到jenkins,点击添加,将生成的token复制添加到jenkins

完成后在下拉列表中选中token,可以点击Test-connection按钮测试是否能够联通
7、新建任务 输入名称选择构建一个自由风格的软件项目,点击确定

此处会自动带出gitlab链接信息

点击高级-配置自定义项目工作空间,到时候项目的源码编译后的文件war都在此处

添加git仓库信息

点击Credentials下的添加可以添加认证方式,使用用户名密码/sshKey
用户名密码方式

sshkey方式 需要使用
ssh-keygen -t rsa "xxx@mail.com" 生成公钥和密钥
将密钥内容复制到此处

公钥添加在gitlab用户下

8、添加shell脚本

BUILD_ID=DONTKILLME 如果在脚本中没有停用tomcat无需添加 脚本两个参数 第一个是编译后的war包名,第二个是往tomcat部署时的war包名称
#当jenkins进程结束后新开的tomcat进程不被杀死
BUILD_ID=DONTKILLME
#执行写好的自动化部署脚本
sh /home/back/jenkins-deploy.sh test test
jenkins-deploy.sh脚本
#!/usr/bin/env bash
#项目名称
ProjectName=$1
RealWarName=$2
#tomcat路径
TomcatPath=/home/back/apache-tomcat-10002
#jenkins工作路径
JenkinsWorkPath=/home/back/workspace
#Maven
MavenPath=/home/back/apache-maven-3.8.6
#停用tomcat函数
#killTomcat()
#{
#cd $TomcatPath/bin
# sh shutdown.sh
#}
#清空编译,打包
cd $JenkinsWorkPath/${ProjectName}
${MavenPath}/bin/mvn clean package -Dmaven.test.skip=true
comp=$?
#判断编译是否成功,war包是否存在
if [[ $comp -ne '0' ]] ;then
echo "编译失败,生成WAR包失败"
exit $comp
else
#停用tomcat
#killTomcat
#删除旧war包和文件夹
rm -rf $TomcatPath/webapps/${RealWarName}.war
rm -rf $TomcatPath/webapps/$RealWarName
#复制新的war包到tomcaat下
cp $JenkinsWorkPath/${ProjectName}/target/${ProjectName}*.war $TomcatPath/webapps/${RealWarName}.war
#切换到tomcat路径启动tomcat
#cd $TomcatPath/bin
#sh startup.sh
fi
9、构建时可以在构建历史控制台中看脚本执行情况

本文详细介绍如何在Linux环境下安装配置Jenkins,并实现基于GitLab的持续集成与自动化部署流程。内容涵盖Jenkins及相关工具的安装步骤、GitLab API配置、构建任务设定及shell脚本编写等关键技术点。
307





