Jenkins部署码云上的SpringBoot项目
1. Jenkins 是什么?
Jenkins官网:https://www.jenkins.io/
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
2. 环境准备
需要安装jdk1.8+、git、maven
.JDK
.GIT
.MAVEN
3. 安装Jenkins
第一种安装方式
安装
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkinsci.org/redhat/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins
启动
service jenkins start
第二种安装方式,使用WAR包
1、下载 Jenkins.
下载地址:http://ftp-chi.osuosl.org/pub/jenkins/war-stable/2.235.2/jenkins.war
2、打开终端进入到下载目录.
新建目录
[root@TESTSERVER local]# mkdir jenkins
上传文件
3、运行命令 java -jar jenkins.war --httpPort=8081
[root@TESTSERVER jenkins]# nohup java -jar jenkins.war --httpPort=8081
4、打开浏览器进入链接 http://{ip}:8081
注意:如果链接打不开 1、检查端口号是否正确 2、检查防火墙或安全组(如果是云ECS)
输入密码,继续
安装推荐的插件即可
安装完成!!!
4. 配置Jenkins
“系统管理” --“全局工具配置”中配置jdk、git、maven
.配置JDK
.配置GIT
.配置MAVEN
5. 配置项目
5.1 构建自由风格的项目
新建任务,选择构建自由风格的项目,给项目起个名字,然后点击 Ok。
5.2 配置参数化构建过程
project_name : 项目名(即5.1中任务的名称)
jar_name:jar 包名称
workspace_path:workspace路径
这里设置的参数在之后的脚本中使用
5.3 Git 配置
注意:如果git仓库的URL 用户名密码都正确还提示无法连接仓库,可能是git版本问题,可以通过更改“全局工具配置”中git路径来更改版本(我的从2.9.0改为1.8.3.1就ok了)
5.4 配置 Build
mvn clean install -Dmaven.test.skip=true
cd /usr/local/shell/
./stop.sh $jar_name
echo "Execute shell Finish"
cd /usr/local/shell/
./startup.sh $workspace_path $project_name $jar_name
5.5 配置脚本文件
配置5.4脚本中使用到的stop.sh和startup.sh文件
在/usr/local/shell/目录下新建两个文件
stop.sh的内容如下:
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
startup.sh的内容如下:
workspace_path=${1}
project_name=${2}
jar_name=${3}
cd $workspace_path/$project_name/target/
echo nohup java -jar $jar_name &
BUILD_ID=dontKillMe nohup java -jar $jar_name &
授予两个文件执行权限
[root@TESTSERVER shell]# chmod 777 stop.sh
[root@TESTSERVER shell]# chmod 777 startup.sh
注意:如果是在Windows系统中准备的stop.sh和startup.sh文件,在执行时可能报错“: $’\r’: command not found” ,是因为脚本格式上存在问题
解决方案:
[root@TESTSERVER shell]# yum install dos2unix
[root@TESTSERVER shell]# dos2unix stop.sh
dos2unix: converting file stop.sh to UNIX format ...
[root@TESTSERVER shell]# dos2unix startup.sh
dos2unix: converting file startup.sh to UNIX format ...
6. 测试
访问部署的项目ok
参考链接:https://mp.weixin.qq.com/s/AxY1KnIjJ6rkhG9MeTs61w