为了方便持续集成,快速开发部署,用Jenkins还是比较多的,演示一下CentOS环镜快速搭建Jenkins服务。
1.查看本机系统环境
$ lsb_release -a
这是我的版本
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Codename: Core
2.安装
添加Jenkins库到yum库,并安装
$ wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
$ yum install -y jenkins
3.配置端口
记得开放服务器的相应端口,我这里开放:9999。
$ vi /etc/sysconfig/jenkins
找到JENKINS_PORT=“8080” ,并修改为:9999
4.启动服务
$ service jenkins start
查看端口占用,有的话说明Jenkins成功启动为守护线程。
lsof -i:9999
5.配置Jenkins
浏览器访问> 域名:端口,进入Jenkins初始化配置
首次进入会要求输入初始密码, 初始密码在:/var/lib/jenkins/secrets/initialAdminPassword
然后选择“Install suggested plugins”安装默认的插件,这时候等一会儿,在下载必要的插件。
然后创建管理员账号:
安装Maven Integration插件
在可选插件里面找到,然后点击直接安装
在已安装可以看到安装的插件。
然后从首页进入全局工具配置,设置JDK,Git,Maven
去掉勾选的自动安装。
6.创建任务
Git
配置项目的Git地址,身份凭证直接点添加,输入你的代码仓库的账号密码就可以了。选上构建的目标分支。
clean package install -U -DskipTests=true -pl common-integral -am
BUILD_ID=dontKillMe
/home/jenkinsShell/integral.sh
选择Maven,设置好命令。其中的common-integral是我要打包的module的名字。
设置好运行脚本。上面配置的最后一栏,先在对应的目录创建一个空白的运行脚本文件,我这里是叫integral.sh。然后赋予这个文件777访问权限:
sudo chmod -R integral.sh
7.配置运行脚本
Jenkins执行构建的话是把jar包打包好了放在了Jenkins安装目录的 /workspace 文件夹下面,还没执行第一次构建的时候这个文件夹是不存在的,构建一次之后就看得见了。第一次构建会比较久,因为要去下载Maven依赖。
现在jar包有了,我们配置shell脚本让他运行起来。
编辑上面的integral.sh文件:
#!/usr/bin/sh
cp /var/lib/jenkins/workspace/nomaybe-integral/common-integral/target/common-integral-0.0.1.jar /home/common/integral
ps aux |grep /home/common/integral/common-integral | grep -v grep | awk '{cmd="kill -15 " $2 ;system(cmd)}'
sleep 5
ps aux |grep /home/common/integral/common-integral | grep -v grep | awk '{cmd="kill -9 " $2 ;system(cmd)}'
nohup java -jar -Dspring.profiles.active=dev /home/common/integral/common-integral-0.0.1.jar >/dev/null &
echo end
sleep 10
看得出来脚本的执行步骤:
- 先把Jenkins打包好的jar包拷贝到对应的文件夹
- kill掉原来还在运行的同项目的jar包
- 运行现在的jar包
然后在Jenkins执行构建:
这里查看Jenkins的控制台输出,会看到报错信息:
提示没有对应文件的权限,这个时候给对应的文件或文件夹赋权就可以了。因为执行构建的时候是jenkins用户,并不是服务器的root用户。
给Jenkins用户授权某个文件夹或文件:
chown -R jenkins:root XXX文件夹
这些都搞完,再执行构建,就可以了。Jar包就运行起来了。Jenkins搭建就算完成了。