作者:中国移动云能力中心 —— 潘鹏
概要:本文重点介绍了代码仓库与代码评审平台Gerrit的搭建
前言:工厂里的装配线以快速、自动化、可重复的方式从原材料生产出消费品。同样,软件交付管道以快速、自动化和可重复的方式从源代码生成发布版本。如何完成这项工作的总体设计称为“持续交付”(CD)。启动装配线的过程称为“持续集成”(CI)。确保质量的过程称为“持续测试”,将最终产品提供给用户的过程称为“持续部署”。一些专家让这一切简单、顺畅、高效地运行,这些人被称为运维开发DevOps践行者。
“持续”用于描述遵循我在此提到的许多不同流程实践。这并不意味着“一直在运行”,而是“随时可运行”。在软件开发领域,它还包括几个核心概念/最佳实践。这些是:
- 频繁发布:持续实践背后的目标是能够频繁地交付高质量的软件。此处的交付频率是可变的,可由开发团队或公司定义。对于某些产品,一季度、一个月、一周或一天交付一次可能已经足够频繁了。对于另一些来说,一天可能需要多次交付也是可行的。所谓持续也有“偶尔、按需”的方面。最终目标是相同的:在可重复、可靠的过程中为最终用户提供高质量的软件更新。通常,这可以通过很少甚至无需用户的交互或掌握的知识来完成(想想设备更新)。
- 自动化流程:实现此频率的关键是用自动化流程来处理软件生产中的方方面面。这包括构建、测试、分析、版本控制,以及在某些情况下的部署。
- 可重复:如果我们使用的自动化流程在给定相同输入的情况下始终具有相同的行为,则这个过程应该是可重复的。也就是说,如果我们把某个历史版本的代码作为输入,我们应该得到对应相同的可交付产出。这也假设我们有相同版本的外部依赖项(即我们不创建该版本代码使用的其它交付物)。理想情况下,这也意味着可以对管道中的流程进行版本控制和重建(请参阅稍后的 DevOps 讨论)。
- 快速迭代:“快速”在这里是个相对术语,但无论软件更新/发布的频率如何,预期的持续过程都会以高效的方式将源代码转换为交付物。自动化负责大部分工作,但自动化处理的过程可能仍然很慢。例如,对于每天需要多次发布候选版更新的产品来说,一轮集成测试下来耗时就要大半天可能就太慢了。
一.环境准备
操作系统:Centos7
JDK版本:1.8
Gerrit版本:3.2.4
二.Gerrit代码审查系统安装
1.安装JDK
①.下载jdk安装包:jdk-8u191-linux-x64.tar.gz
②.上传到指定路径并解压重命名,示例:
mkdir /apps
上传安装包到/apps目录下
tar -zxvf jdk-8u191-linux-x64.tar.gz
mv jdk-8u191-linux-x64 jdk1.8
③.修改环境变量
vi /etc/profire
在底部添加如下语句:
export JAVA_HOME=/apps/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile
java -version // 测试环境变量是否生效
2.安装gitweb
yum install gitweb
配置文件地址:/etc/gitweb.conf 无特殊需求不用修改配置
3.安装gerrit
①.新建目录:
mkdir /apps/gerrit
②.获取邮箱授权码,以163邮箱为例:
登录网页版邮箱(https://email.163.com/),进入邮箱首页,点击上方设置,选择POP/SMTP/IMAP选项。
在客户端协议界面,选择开启对应的协议,IMAP或者POP3分别为不同的收信协议,您可以选择只开启需要的收信协议,比如IMAP,推荐使用IM