Jenkins-码云-Springboot自动构建

构建背景:

因为前后端分离,后端项目每天至少部署5-6遍。起初想着一定要教会组内成员如何部署,以减轻自己的负担。后来也这么做了,亲自录了一个部署视频。当晚,小组内部群里发完录制视频,找学长唠嗑时提到这件事,抱怨了几句。学长一语惊醒梦中人,是啊,何不学一下Jenkins,实现自动化部署,一劳永逸。

环境准备:

JDK
Maven
Git
码云springboot代码仓库

  环境变量(路径以自己本机为主):

1
2
3
4
5
6
7
8
9
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

export PATH=/usr/local/git/bin:$PATH

MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

1.安装Jenkins

1
2
3
4
5
6
7
8
# yum源
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 install jenkins

  这里设置一下用户,端口(默认8080)有需要也可更换

1
vi /etc/sysconfig/jenkins

JENKINS_USER=”root”
JENKINS_PORT=”8088”

  启动:

1
sudo service jenkins restart

  第一次进入会让你填写密钥(根据提示查看)

1
cat /var/lib/jenkins/secrets/initialAdminPassword

Yoyou

  完成后,需要插件安装,选择默认

Yoyou

  创建你的Jenkins用户

Yoyou

  到这里就已经基本安装完成,登录进入到配置页面

Yoyou
Yoyou

2.下载插件:

系统管理->插件管理->可选插件

Yoyou

Gitee Plugin

Maven Integration plugin

Pipeline Maven Integration Plugin

3.全局配置:

系统管理->全局工具配置

  1)JDK配置:

Yoyou

  2)Git配置:

Yoyou

  3)Maven配置:

Yoyou
Yoyou

4.新建任务:

  1)构建一个自由风格的软件项目
  2)General参数配置:

Yoyou
Yoyou
Yoyou

  3)源码管理:

    设置码云仓库连接,以及指定分支

Yoyou

    构建触发器(重点,事关码云推送能否触发构建):

Yoyou

    将链接复制到码云的webhooks上,生成密码同样复制到码云

Yoyou

  4)构建(执行shell):

Yoyou

1
2
3
4
5
6
7
#!/bin/bash -il
mvn clean install -Dmaven.test.skip=true
echo $jar_path $jar_name
cd /root/shell/
./stop.sh $jar_name
echo "Execute shell Finish"
./start.sh $jar_path $jar_name $project_name

    启动脚本:

1
2
3
4
5
6
7
jar_path=${1}
jar_name=${2}
project_name=${3}
cd ${jar_path}/${project_name}/target/
echo ${jar_path}/${project_name}/target/
echo nohup java -jar ${jar_name} &
BUILD_ID=dontKillMe nohup java -jar ${jar_name} > /root/workspace/boot.log &

    停止脚本:

1
2
3
4
5
6
7
8
jar_name=${1}
echo "Stopping" ${jar_name}
pid=`ps -ef | grep ${jar_name} | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
echo "kill -9 的pid:" $pid
kill -9 $pid
fi

    保存

5.开始构建:

Yoyou
Yoyou

6.测试:

Yoyou

  修改推送到码云仓库,刷新页面

Yoyou

  自动构建成功

如果你觉得有帮助,慷慨如你,可以扫描下面的二维码赞赏一下