从零开始之持续集成之源码管理配置(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上去
相关文章推荐
- xml在此生活
- C++基础---char型字符串库函数
- [POJ 1161] Walls 建图
- 分布式消息系统Kafka
- rhel7引导启动过程修复
- Android系统设置大号字体后布局错乱的问题
- [LeetCode] Clone Graph
- CentOS 6.5 虚拟机上网
- is 与 as 类型检查
- Java中泛型的基础到提高《精简》
- Hibernate学习笔记(十) — HQL查询
- 黑马程序员——面向对象10(异常下、包)
- hdu 4463 Outlets 最小生成树
- Mac 下安装配置jdk
- hdu 4463 Outlets 最小生成树
- Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
- 视图控制器知识点总结
- UltraISO制作U盘启动盘安装Win7/10系统攻略
- VC 实现 DNS 跳转,过滤特定网址实现跳转
- gcc编译出现undefined reference to 的问题