自动化配置jenkind(Java)

Jenkins配置gitee实现自动化部署

jenkins+gitee实现java项目自动化部署

搭建前准备

我这里用的是阿里云的centos,搭建前需要准备一些东西:

由于jenkins使用java预言进行开发编写的,需要把java环境进行准备好。maven,用来下载项目需要用到的依赖包。git,jenkins链接git时需要用到

环境变量配置

image-20220224144135505

最后,修改完,需要更新一下环境变量: source /etc/profile

安装Jenkins

添加Jenkins源

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

通过yum命令安装jenkins

sudo yum -y install jenkins

修改jenkins端口

sudo vim /etc/sysconfig/jenkins
JENKINS_PORT="8085"  #更改jenkins配置文件里的监听端口

启动jenkins服务

sudo service jenkins start

卸载Jenkins

查到安装的jenkins包

$rpm -qa | grep jenkins
jenkins-2.319.3-1.1.noarch

卸载jenkins包

sudo rpm -e jenkins-2.319.3-1.1.noarch --nodeps

删除jenkins生成的工作目录/var/jenkins

sudo rm -rf /var/lib/jenkins/ 

安装插件

在浏览器访问jenkins页面

www.ruiblog.top:8085   #这里我用的是自己的域名加端口访问的,平常就直接ip地址+端口访问就可以

访问成功后,页面会初始化加载,可能时间稍微长一点,加载完成后,根据页面提示位置:/var/lib/jenkins/secrets/initialAdminPassword 获取初始密码,这个密码重启服务器后可能会消失,所以最好找个地方保存一下

输入完密码,登录完成后,会让安装jenkins插件,我这里直接安装的推荐插件,不过这些插件还不够,自动化部署还需安装其他插件

gitee配置插件:不装这个的话,没有gitee配置

image-20220224151714733

gitee配置测试链接用的:当你配置好了,测试链接时,不装这个插件,会一直报Error

image-20220224151738401

Maven插件

image-20220224151803914

webhook插件:构建触发器,当你推送代码时,jenkins就会自动构建发布 这个gitee webhook就是做这个用的

image-20220224151836184

装完插件后,进行配置用户名密码

img

配置Jenkins服务

进行配置jenkins,进入到系统管理界面(System Management Interface),全局工具配置(Global Tool Configuration),进行jdk,git和maven的配置

配置jdk、git

image-20220224154844248

maven

image-20220224154858467

进入到系统管理界面(System Management Interface) 点击系统配置(System Configuration)再次进行 全局属性、 git配置

image-20220224160759011

gitee配置需要去往https://gitee.com/profile/personal_access_tokens获取Gitee API V5的私人令牌,生成令牌后会出现一串字符,此字符只出现一次,保存好

image-20220224161038540

image-20220224160921366

配置完成后,新建任务

image-20220224155417266

进行配置

General

image-20220224162000090

源码管理

image-20220224162211341

构建触发器 webhook 需要在Gitee webhook中填写URL

image-20220224162401441

image-20220224163302007

构建环境

image-20220224163332814

Build

image-20220224163424304

Post Steps

执行此步骤之前,需要在服务器上新建目录及脚本文件

mkdir /home/saysky/workspace/backup
mkdir /home/saysky/workspace/Jenkins-in
touch stop.sh
touch replace.sh

stop.sh

# 将应用停止
#stop.sh
#!/bin/bash
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep blog.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi

replace.sh

#replace.sh 用于将上次构建的结果备份,然后将新的构建结果移动到合适的位置
#!/bin/bash
# 先判断文件是否存在,如果存在,则备份
file="/var/lib/jenkins/workspace/ruiblog/target/blog-0.0.1-SNAPSHOT.jar"
if [ -f "$file" ]
then
   mv /home/saysky/workspace/blog.jar.`date +%Y%m%d%H%M%S`
fi
mv /var/lib/jenkins/workspace/ruiblog/target/blog-0.0.1-SNAPSHOT.jar /home/saysky/workspace/blog.jar

image-20220224163531793

cd /home/saysky/workspace/Jenkins-in    # 进入对应目录
sh stop.sh							# 执行sh脚本
sh replace.sh
BUILD_ID=dontKillMe nohup java -jar /home/saysky/workspace/blog.jar &    # 运行项目

Jenkins项目日志实时刷新

温馨小提示

当所有东西准备好,要构建执行脚本的时候,大概率会报错:permission-denied(权限不足)

原因是jenkins用户的权限不够

解决办法就是:修改jenkins配置,将执行用户改为root,进行执行

sudo vim /etc/sysconfig/jenkins
JENKINS_USER="root"  #改为root
service jenkins restart #重启jenkins服务
posted @ 2022-03-28 19:06  Lernen  阅读(95)  评论(0编辑  收藏  举报