有的时候我们在系统发布的时候,我们不同的开发人员需要整合打包,再发布比较麻烦,而jenkins中满足了我们随时发布的特点。接下来我们将讲述如何安装jenkins.
准备阶段
(1)准备jdk
在linux中需要安装相应的插件jenkins才能使用。首先jdk一定要有 。可以参考在linux环境中配置java全局变量 里面有详细的方法。
(2):准备gitblit 从gitblit中拉取代码
jenkis需要拉取代码,所以我们需要代码管理平台。gitblit是我选用的。你可以参考。如何在centOs中安装gitblit以及各种操作
(3):配置maven环境
因为打包的啥时候需要maven协助,这个时候需要配置maven ,你可以参考:在linux系统中安装maven并且配置环境变量_ZeroMaster的博客-CSDN博客
安装jenkins
(1):从官网上下载
下载地址是:Redhat Jenkins Packages
我下载的是https://pkg.jenkins.io/redhat-stable/jenkins-2.32.1-1.1.noarch.rpm
(2):安装。
下载好后,将jenkins-2.32.1-1.1.noarch.rpm放到服务器上。
[root@7mini-node2 contos]
# rpm -ivh jenkins-2.32.3-1.1.noarch.rpm
(3):启动
[root@7mini-node2 contos]
# service jenkins start
这个时候会出现如下错误:
Starting jenkins (via systemctl): Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details. [FAILED]
原因是jenkis中的地址配置有问题了。
所以先查找我的jdk安装在哪: which java
/home/zhm/software/jdk1.8.0_91/bin/java
上面就是jdk安装的地方。
然后执行。vim /etc/init.d/Jenkins
修改其中jdk地址。
在运行service jenkins start就启动好了。
[root@7mini-node2 contos]# netstat -tunlp |grep :8080
tcp6 0 0 :::8080 :::* LISTEN 2259
/java
在浏览器中输入ip:8080就能看到jenkins启动了。
将密码输入即可
页面配置阶段
接下来就需要对jenkins中进行相应的配置
1:进入Jenkins中Manage Jenkins中,对configure System进行配置
主要配置jenkins URL如下图:
最主要的是配置Global Tool Configuration
要配置jdk
配置gradle,由于我们的项目是gradle+springBoot的,所以打包要用到gradle
接下来也很关键需要相应的插件。
创建item ===>New Item
主要配置有如下
(1):拉去代码
由于我们是用http不是用ssh,所以第三步是填写用户名和密码,我们用的是gitblit.所以用的是gitblit的用户名和密码。
(2):写shell的脚本
(3):书写sm.sh的shell脚本
#!/bin/bash
echo '执行用户是:' $SHELL
BUILD_ID=dontKillMe
tell(){
if [ $? -eq 0 ]
then
echo "执行成功"
else
echo "执行失败"
fi
}
echo '正在杀死后台的进行'
DATE=`date +%F | sed 's/-//g'``date +%T | sed 's/://g'`
echo '当前时间是:' $DATE
pid=`ps -ef | grep SM.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
echo "kill -9 的pid:" $pid
kill -9 $pid
fi
source /etc/profile
echo '杀死结束'
tell
echo '开始移除原来项目的jar包'
mv /home/app/SystemModel/server/SM.jar /home/app/SystemModel/temp/SM$DATE'.jar'
cd /var/lib/jenkins/workspace/SM
echo '移除结束'
tell
echo '开始打包项目'
gradle :server:build -x test --refresh-dependencies -Pprofile=integration
echo '打包项目结束'
echo '开始复制打包好的jar包到部署目录'
mv /var/lib/jenkins/workspace/SM/target/SM.jar /home/app/SystemModel/server
echo '移动完成'
tell
cd /home/app/SystemModel/server
echo '开始后台自动部署后台代码'
java -jar -Dspring.profiles.active=integration SM.jar &
tell
注意:启动时候可能会出现权限不够的情况。这是因为我们启动的时候是用jenkins账号启动,所有没有权限移动和kill等操作。
所以需要修改jenkins启动的用户。
vim /etc/sysconfig/jenkins 修改JENKINS_USER="jenkins" 改为 JENKINS_USER="root"
在执行,这样就可以了。
当然如果jenkins中出现不适配的情况需要升级jenkins,请参考:升级 Jenkins 版本_molaifeng的博客-CSDN博客
页面相关的配置:请参照:jenkins+gradle安装部署_jenkins 安装gradle_皓阳当空的博客-CSDN博客
参考:CentOS7Jenkins安装_centos7 3967_alice s的博客-CSDN博客
【图文教程】CentOS rpm方式安装jenkins及卸载(非war包)_centos9 卸载 jenkins_li_Felix的博客-CSDN博客