前言
前段时间看到别人使用Jenkins,觉得这玩意部署项目挺方便的,代码一提,小手一点,轻松构建。于是自己决定来研究研究,在这记录一下自己研究和爬坑的过程。
准备
一个安装好Java和Maven的Centos
安装
centos 是需要下载rpm包的,不同系统下载的安装包也不相同,具体需要到官网去查看
安装rpm包
sudo rpm -ivh jenkins-2.228-1.1.noarch.rpm
配置
安装完成之后,我们需要配置一些东西(也可以不配置,使用默认配置)
vim /etc/sysconfig/jenkins
# Jenkins默认的家目录
JENKINS_HOME="/var/lib/jenkins"
# 执行Jenkins的用户,默认jenkins,
# 这里需要修改为root或者和安装Java和Maven的属组用户,我的是cmj
JENKINS_USER="cmj"
# Jenkins java 启动参数可以配置JVM参数
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
# 监听端口
JENKINS_PORT="8090"
# 监听地址,默认0.0.0.0/0
JENKINS_LISTEN_ADDRESS=""
修改用户属组
修改Jenkins用户属组,修改成和配置一致的用户,不然jenkins在构建的过程可能会因为用户权限的问题导致无法构建成功,maven用户也是cmj
sudo chown -R cmj:cmj /var/lib/jenkins/
sudo chown -R cmj:cmj /var/log/jenkins/
sudo chown -R cmj:cmj /var/cache/jenkins/
sudo chown -R cmj:cmj /usr/lib/jenkins/jenkins.war
sudo chown -R cmj:cmj /etc/sysconfig/jenkins
启停命令
service jenkins start 启动
service jenkins stop 停止
service jenkins restart 重启
service jenkins status 查看状态
启动成功,进入页面配置
浏览器输入http://(jenkins部署所在的公网IP):8090(根据上面配置文件配置的端口进行访问) 首次进入会要求输入初始密码如下图,
如果下载插件网速太慢的话可以先配置清华的源 新开一个标签页访问 http://ip:8090/pluginManager/advanced 进入该页面最底下,找到【升级站点】,把其中的链接改为 mirrors.tuna.tsinghua.edu.cn/jenkins/upd…
点击标准安装插件等待下载
完成之后
到此Jenkins就算安装完成了。
构建准备
因为我写的Java代码是用maven构建的,仓库用的是码云,所以还需要装一个maven info和coding webhook插件
配置相关系统变量
创建项目
点击新建任务,创建一个maven项目,名字自己取,点击OK,进到项目,点击configure配置项目
Post Steps 可以在maven构建完成后执行脚本,一般我们用来启动部署的脚本
# 设置BUILD_ID,防止Jenkins在构建构建成功后误杀衍生进程
BUILD_ID=DONTKILLME
# 拷贝构建文件
cp /var/lib/jenkins/workspace/gateway/gateway/target/microcloud-exec.jar /home/cmj/project/wxvideo/bank/gateway/
# kill掉之前部署的老进程,如果是第一次部署则会跳过kill命令
`ps -ef | grep gateway/microcloud-exec.jar | grep -v grep | awk '{print $2}' | xargs --no-run-if-empty kill -9`
# 后台部署Java应用
nohup java -jar -Xms512m -Xmx1024m /home/cmj/project/wxvideo/bank/gateway/microcloud-exec.jar 1>/home/cmj/project/wxvideo/bank/gateway/start.out 2>&1 &