您的位置:首页 > 其它

从零开始之持续集成之源码管理配置(Ubuntu)

2015-08-16 17:59 176 查看

用到的技术

邮箱服务器配置

账户邮箱、报告等都离不开邮箱,此处配置一个支持域为 vzjc.com 的邮件服务器。地址为 mail.vzjc.com 或 ‘vzjc.com’, 协议为TLS的 POP3和 SMTP, 端口分别为 110 和 587。

配置完成后,可以生成三个账户

test1@vzjc.com

test2@vzjc.com

admin@vzjc.com

Nginx配置 Nginx虚拟主机配置

Nginx作为网页服务器和代理服务器。

配置完成后,可以得到

支持php的Nginx服务器

可配置虚拟服务器的Nginx配置文件:
/etc/nginx/sites-available/mydefault.vhost


Gitlab配置

Gitlab作为代码托管而存在

配置完成后,可以得到

可访问的网页服务器 http://gitlab.zjc.com

Gitlab管理员登录账号为 root 及其密码

Gitlab登录账号 root 的邮箱为 admin@vzjc.com

Gerrit配置

Gerrit用来review代码,只有review通过的代码才可以提交到Gitlab代码库

配置完成后,可以得到

可访问的网页服务器 http://review.zjc.com

Gerrit管理员登陆账号 admin 及其密码

Gerrit登录账号 admin 的邮箱为 admin@vzjc.com

Jenkins配置

Jenkins可以兼具代码格式检测、自动编译等功能。它是代码 review 到Gerrit上的第一道防线,可以根据检测结果在Gerrit上操作标签 Verify +1 或 -1

配置完成后,可以得到

可访问的网页服务器 http://jenkins.zjc.com

Jenkins管理员登陆账号 admin 及其密码

Jenkins登录账号 admin 的邮箱为 admin@vzjc.com

Jenkins安装了 Gerrit Trigger 插件

Gitlab、Gerrit、Jenkins配置

本地系统,Gitlab系统,Gerrit系统,Jenkins系统有机结合起来工作

配置完成后,可以得到

系统用户 admin , 它的SSH Key连接到Gitlab的 root 账户, 连接到Gerrit的 admin 账户 - 这是管理员身份

系统用户 user1 , 它的SSH Key连接到Gitlab的 user1 账户, 连接到Gerrit的 user1 账户 - 这是普通用户身份

系统用户 jenkins,Jenkins系统以 jenkins 用户身份运行,它的SSH Key连接到Gerrit的 jenkins 账户 - 用户获取代码编译和设置 Verify 标签

系统用户 gerrit , Gerrit系统以 gerrit 用户身份运行,它的SSH Key连接到Gitlab的 root 用户上 - 用户Git库复制

Gitlab上的新组 dev-group , 其下的工程 test-project1 ;Gitlab账户 root 为 Owner, 账户 user1 为 Reporter

Gerrit上的Git工程 test-project1, 它是独立的,但是克隆自Gitlab的同名工程,并在修改后自动Merge回Gitlab上的工程

Jenkins上的测试项目 test-project1 , 它监控Gerrit上的 review 提交,并在有 review 提交时自动获取代码来编译,根据编译结果在 Gerrit上设置 Verify 标签

增加开发者账户 Mac系统添加CI系统的用户

增加一个开发者:开发者即可以从Gitlab上克隆代码,修改的代码可以Review到Gerrit上

增加项目 此处以增加 Android Studio 项目为例 - Jenkins自动编译Android Studio创建的工程

我们的服务器要支持各种编译环境 Android, Windows, RedHat, Ubuntu, Mac。我们就会用到 Jenkins设置Window编译环境从节点 来设置从节点了

解释

源码管理用Gitlab

代码Review用到Gerrit托管

提交代码自动编译用到Jenkins

Gitlab系统上新建一个项目 test-project1

在Gerrit系统上克隆Gitlab上的 test-project1

用户(例如 user1),在Gitlab上为 Reporter 角色

user1 克隆 Gitlab 上的项目 (但是没有直接提交代码到Gitlab的权限)

user1 修改代码后可以提交 review 到 Gerrit系统

admin 用户 review代码后选择提交,提交到 Gerrit 的代码库中

Gerrit系统稍后利用其提供的复制功能,会把自己托管的代码库直接提交到Gitlab上去
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: