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

访问

http://jenkins.thstack.com/ jenkins-dashboard

开启用户注册功能,点击 -> 系统管理 -> Configure Global Security -> 勾上启用安全,就可以看到下图 jenkins-user-set

保存后,会自动跳转到登录页面,点击右上角注册按钮 jenkins-user-restryges

输入管理员信息 jenkins-create-admin

为了安全,设置 Jenkins 不对普通用户开放登录权限,只有管理员可以设置、构建任务,普通用户可以查看任务状态 点击 系统管理 -> Configure Global Security -> 去掉开放用户注册勾 jenkins-disable-user-siup

接下来要安装 Jenkins 的插件,来支持 Gerrit 点击 系统管理 -> 管理插件,会看到下图显示 jenkins-plugin

如果上图种 可更新、可选插件、已安装 三个菜单点开为空白的话,需要获取更新下 Jenkins 的信息,之后就可以看到插件信息了 点击 系统管理 -> 管理插件 -> 高级 jenkins-update-info

安装 Gerrit Trigger 插件 点击 系统管理 -> 管理插件 -> 可选插件 -> “Gerrit Trigger” jenkins-select-gerrit

安装完 Gerrit Trigger 插件重启 Jenkins,进度掉如果卡在 Gerrit Trigger 最后时,尝试刷新下页面 jenkins-install-gerrit

在系统中给 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-review-login

设置 jenkins 用户邮箱,顺便去邮箱里确认 jenkins-jenkins-mail

添加刚才对 jenkins@thstack.com 邮箱生成的 ssh 密钥 jenkins-sshkey

设置 Jenkins 系统 SMTP 点击 -> 系统管理 -> 系统设置 -> 找到邮件通知栏 -> 高级 jenkins-email

回到 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-gerrit-trigger-ssh

如果上面一步出现下图错误,是因为 jenkins ssh Gerrit 时候需要输入 yes,卡住了 可以手工 ssh 输入一下 也是。在返回界面 多刷新几次就没有错误信息了。 su – jenkins ssh -p 29418 jenkins@review.thstack.com gerrit

jenkins-gerrit-conn-err

由于 Gerrit 的版本为 2.8,Gerrit 在 2.7 后做了些更改,去掉了 gerrit approve 的 approve 命令,而改为 review,所以需要修改 点击 -> 系统管理 -> Gerrit Trigger -> Gerrit Reporting Values -> Code Review -> 点击 “高级” jenkins-gerrit-approve-to-review

修改 gerrit approve 为 gerrit review jenkins-gerrit-reviews

OK,Jenkins 设置完毕,接下来就需要针对项目在 jenkins 上创建构建任务,放在下一篇文章里

posted @ 2015-04-22 14:22  Chaoa  阅读(2619)  评论(0编辑  收藏  举报