介绍
安装
Centos 7 上安装 jenkins, 它是基于 JAVA 的,所以要先安装 jdk 1.8。
下载地址:
https://jenkins.io/zh/download/
有多种安装形式,可以以 Docker 运行,也可以源码安装。也可以直接下载 war 包通过内置容器运行。开始安装:
cd /data/soft/
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
下载完毕后直接运行 java -jar jenkins.war
即可启动。启动完成后会自动监听 8080 端口。我们也可以改为其它端口: java -jar jenkins.war --httpPort=9797
。因为 8080 经常会在开发时使用。
启动的过程中会创建 admin 帐号:
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
81c5838861fb48a0a801fabec3599f0b
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
完毕后,可以在浏览器中访问 http://[HOST_IP]:[PORT]
打开页面,如下:
这时候就用到了上面的密码。
jenkins的配置文件就在
/root/.jenkins
下面密码存储在
/root/.jenkins/secrets/initialAdminPassword
里
使用
安装插件
密码解锁 Jenkins之后,在 Customize Jenkins 页面内, 可以安装任何数量的有用插件。
两个选项可以设置:
- 安装建议的插件 - 安装推荐的一组插件。
- 选择要安装的插件 - 选择安装的插件集。有经验时可以选择。
帐号管理
用 admin 账户登录进去,在系统管理–>管理用户–>新建用户 里面新建账户
配置安全策略
jenkins默认是任何人可以访问该系统,相当于裸奔,所以需要配置安全策略。
配置页面是: 系统管理–>全局安全配置–>授权策略
将它改为【安全矩阵】,添加需要的账户,给特定的人勾选上所需的策略。
节点配置
jenkins 的机器和测试机一般不是同一个,多个测试环境,也有可能在多个机器上面。这里可以进行配置, 都添加进去。
配置页面是:系统管理–>管理节点–>新建节点
远程工作目录:以后你的数据存在哪里,它会在该目录下创建 workspace 目录并存储一些内容,包括任务文件。
启动方式:选择使用ssh登录,主机ip写上,add账户名密码之后,左边就可以选了
添加完后,节点列表可能如下:
验证机器
jenkins能否在代理节点上执行命令,关系到能否一键部署,所以先测试机器。
回到首页,新建任务 test109—–>构建一个自由风格的软件项目->确定
General 里的 ‘限制项目的运行节点’ 里选择要测试的那台机器。
构建里选择 执行shell ,然后输入命令 ifconfig
保存,点击任务,选择立即构建。完成后,可以在构建记录的日志里查看运行的记录:
记录可能如下:
可以看到,命令执行成功。
这样,我们就可以构建更复杂的任务,用来从 git 更新项目并部署项目。
部署项目
- 新建任务—>输入名称 ReleaseProject—>构建自由软件风格的项目–>保存
- 限制项目运行节点 选择测试机器
- 源码管理,选择git 并输入项目的源码地址
- 构建,选择执行 shell,并输入代码:
BUILD_ID=DONTKILLME
source /etc/profile
mvn clean
mvn package
pid=$(ps ax | grep jar | grep 'cop_kpi' | awk '{print $1}')
if [ ! -n "$pid" ]; then
echo "process not running"
else
#kill -9 $pid
echo "process $pid is running"
fi
sleep 10
#nohup java -jar /data/www/cop_kpi-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &
sleep 10
配置完成,构建后可以到日志里查看过程。并且可以到机器的对应目录下查看项目打包的内容以及看项目是否成功启动等。项目会先被 pull 到本地(前面节点配置里的工作目录下),然后执行上面配置的 shell 脚本。