linux jenkins+gitlab 自动化部署流程

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

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、构建时可以在构建历史控制台中看脚本执行情况

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值