CI 系统搭建:四. Jenkins 的安装配置
本文作为之前几篇文章的延续,在动手安装 Jenkins 之前,确保参考了如下文章:
Jenkins
官网上简单介绍 Jenkins 是一个可扩展的开源持续集成服务器,可扩展 Jenkins 系统集群方式、大量的插件方式扩展,显然 Jenkins 自己已经形成了一个小生态圈。还有一点不得不说的是 Jenkins 本身的迭代开发非常猛,看了下版本发布周期平均一周一个版本。具体的 Jenkins 介绍可以去看 IBM developerWorks 的文章。
下载包
在写这篇文章时候,Jenkins 最新版本为 1.544
wget http://pkg.jenkins-ci.org/debian/binary/jenkins_1.544_all.deb
Jenkins
安装依赖包
apt-get install daemon
安装 Jenkins
dpkg -i jenkins_1.544_all.deb
jenkins 默认监听了 8080 端口,修改为 8083
vim /etc/default/jenkins
HTTP_PORT=8083
重新 jenkins 服务
/etc/init.d/jenkins restart
Nginx
配置 Nginx 端口转发,在文件末尾加入下面配置
# vim /etc/nginx/sites-available/gitlab
server {
listen *:80;
server_name jenkins.thstack.com;
location / {
proxy_pass http://jenkins.thstack.com:8083;
}
}
重启 Nginx,就可以用 jenkins.thstack.com 访问 Jenkins 了
/etc/init.d/nginx restart
访问
开启用户注册功能,点击 -> 系统管理 -> Configure Global Security -> 勾上启用安全,就可以看到下图
为了安全,设置 Jenkins 不对普通用户开放登录权限,只有管理员可以设置、构建任务,普通用户可以查看任务状态 点击 系统管理 -> Configure Global Security -> 去掉开放用户注册勾
接下来要安装 Jenkins 的插件,来支持 Gerrit 点击 系统管理 -> 管理插件,会看到下图显示
如果上图种 可更新、可选插件、已安装 三个菜单点开为空白的话,需要获取更新下 Jenkins 的信息,之后就可以看到插件信息了 点击 系统管理 -> 管理插件 -> 高级
安装 Gerrit Trigger 插件 点击 系统管理 -> 管理插件 -> 可选插件 -> “Gerrit Trigger”
安装完 Gerrit Trigger 插件重启 Jenkins,进度掉如果卡在 Gerrit Trigger 最后时,尝试刷新下页面
在系统中给 Jenkins 用户生成 ssh 密钥,Jenkins 用户在安装包的时候自动创建了,家目录在 /var/lib/jenkins
su - jenkins
ssh-keygen -C jenkins@thstack.com
cat ~/.ssh/id_rsa.pub # 把公钥内容复制一下,后面需要添加到 Gerrit 中
用 htpasswd 创建 jenkins 用户访问控制密码
htpasswd /etc/gerrit/etc/htpasswd.conf jenkins
继续换个浏览器或者清除浏览器记录,用 jenkins 用户访问 Gerrit
http://review.thstack.com
添加刚才对 jenkins@thstack.com 邮箱生成的 ssh 密钥
设置 Jenkins 系统 SMTP 点击 -> 系统管理 -> 系统设置 -> 找到邮件通知栏 -> 高级
回到 Jenkins,设置 Gerrit Trigger 插件,填写刚才在 Gerrit 上注册的 jenkins 用户信息 点击 -> 系统管理 -> Gerrit Trigger -> 填写 Gerrit Server 中的信息,最后点击 Test Connection,会在左侧出现 Success,如果失败检查输入的信息是否有误*
2014.04.05 update:
点击 ‘Test Connection’ 如果出现下面内容,不要着急,继续跟着我的博客往下做。这个问题会在第五篇文章里解决掉。
User jenkins has no capability to connect to Gerrit event stream.
如果上面一步出现下图错误,是因为 jenkins ssh Gerrit 时候需要输入 yes,卡住了 可以手工 ssh 输入一下 也是。在返回界面 多刷新几次就没有错误信息了。 su – jenkins ssh -p 29418 jenkins@review.thstack.com gerrit
由于 Gerrit 的版本为 2.8,Gerrit 在 2.7 后做了些更改,去掉了 gerrit approve 的 approve 命令,而改为 review,所以需要修改 点击 -> 系统管理 -> Gerrit Trigger -> Gerrit Reporting Values -> Code Review -> 点击 “高级”
修改 gerrit approve 为 gerrit review
OK,Jenkins 设置完毕,接下来就需要针对项目在 jenkins 上创建构建任务,放在下一篇文章里