代码托管-gerrit-介绍与环境搭建
什么是gerrit?
转载自 https://blog.csdn.net/tanshizhen119/article/details/79874127
gerrit是谷歌开源的一个git服务端。
主要功能:
1.代码托管
2.代码评审
3.细腻的权限管理(细到分支)
4.丰富的插件以及有很好的扩展接口
5.谷歌团队一直在维护,版本持续在迭代。
6.丰富的事件流,这个配合jenkins能完很多的花样,后面会好好介绍。
同类的产品还有gitlab,gitblit, 还有一个相比来说比较简单的git服务器。同时公网上还有github,开源中国,coding等代码托管服务器,这些也提供私有仓库或者是企业服务,但是一般来说企业往往都是自己搭建自己的git服务,毕竟源代码就是公司的命呀,把命交给别人并不是那么安全。
恶心的地方:
1. 就是因为是谷歌开发的。在国内开发的都知道,FQ好痛苦。
2. 里面大部分用的是谷歌的技术框架,这些技术框架现在用的人不是很多,所以百度起来信息很少,资料也很少。如果再加上你翻不了墙的话那真的就放弃吧。因为你连war包都不知道去那里下,更别说编译,构建,等等一系列的活了。
为什么是gerrit?
本人这一系列的文章,只研究开源系统。而且我比较看重他的评审功能(目前我并没有很好的代码评审工具),以及细腻的权限管理。在加上开源,以及具有很多的插件,以及开放了好多插件接口方便扩展。到时候和jenkins结合构建流水线的时候会好很多。
gerrit环境搭建(基于docker)
(强烈大家去学习一下docker,这一系列的文章的环境搭建,我都是基于docker进行部署)
docker镜像地址:openfrontier/gerrit 上面有dockerfile文件,大家可以看看别人是如何制作docker镜像的。
搭建环境教程:
1. 安装docker环境,以及配置相关参数(最好配置阿里docker源,这样下载速度回快很多)
2. 拉取镜像:docker pull openfrontier/gerrit
3. 创建mkdir ~/gerrit_volume目录,创建此目录是为了把在docker里的gerrit相关程序与数据映射出来,当程序运行时,增删改了数据能够保存在磁盘上。也便于我进行下一步的目录讲解。
4. 运行镜像docker run -d -v ~/gerrit_volume:/var/gerrit/review_site -p 8080:8080 -p 29418:29418 openfrontier/gerrit
在浏览器里输入 http://ip:8080进行访问。
用docker是不是很爽,拉个镜像,然后一条命令,就把环境搭建好了。
亮点展示
评审单列表
评审单明细
权限控制
代码托管-gerrit-介绍与环境搭建的更多相关文章
- Python介绍及环境搭建
摘自http://www.cnblogs.com/sanzangTst/p/7278337.html Python零基础学习系列之二--Python介绍及环境搭建 1-1.Python简介: Py ...
- Django 01 django基本介绍及环境搭建
Django 01 django基本介绍及环境搭建 #http服务器 #用来接收用户请求,并将请求转发给web应用框架进行处理 #Web应用框架 #处理完请求后在发送给http服务器,http服务器在 ...
- App自动化测试-1.App自动化介绍和环境搭建
App自动化测试-1.App自动化介绍和环境搭建 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-b ...
- [springboot 开发单体web shop] 1. 前言介绍和环境搭建
前言介绍和环境搭建 简述 springboot 本身是为了做服务化用的,我们为什么要反其道使用它来开发一份单体web应用呢? 在我们现实的开发工作中,还有大量的业务系统使用的是单体应用,特别是对于中小 ...
- Maven介绍及环境搭建
Maven介绍及环境搭建 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建.报告和文档的软件项目管理工具. 下载Maven boot:类加载器框架,Maven使用它加在自 ...
- Maven快速入门(一)Maven介绍及环境搭建
做开发的程序员都知道,在系统开发需要各自各样的框架.工具.其中有一种工具不管你是初级程序员还是高级程序员都必须熟练掌握的,那就是项目管理工具(maven.ant.gradle).接下来就总结Maven ...
- 持续集成-jenkins介绍与环境搭建
什么是持续集成? 转自:https://blog.csdn.net/tanshizhen119/article/details/80328523 持续集成,俗称CI, 大师Martin Fowler对 ...
- 使用WIF实现单点登录Part I——Windows Identity Foundation介绍及环境搭建
首先先说一下什么是WIF(Windows Identity Foundation).由于各种历史原因,身份验证和标识的管理一般都比较无规律可循.在软件里加入“身份验证”功能意味着要在你的代码里混进处理 ...
- web自动化框架之一介绍与环境搭建(Selenium+Eclipse+Python)
看到一篇环境搭建文章,详细又全面,这里就不一一重复了 http://blog.csdn.net/dyllove98/article/details/9390649 其它: 1.框架介绍 整个 ...
随机推荐
- 教你如何使用Java手写一个基于链表的队列
在上一篇博客[教你如何使用Java手写一个基于数组的队列]中已经介绍了队列,以及Java语言中对队列的实现,对队列不是很了解的可以我上一篇文章.那么,现在就直接进入主题吧. 这篇博客主要讲解的是如何使 ...
- JS 图片放大镜
今天练习一个小demo, 从本地读取图片, 然后实现类似淘宝放大镜的效果, 再加两个需求 1 .可以调节缩放比例,默认放大两倍 2 . 图片宽高自适应, 不固定宽高 话不多说先看效果: 原理:1, 右 ...
- 『Lucas定理以及拓展Lucas』
Lucas定理 在『组合数学基础』中,我们已经提出了\(Lucas\)定理,并给出了\(Lucas\)定理的证明,本文仅将简单回顾,并给出代码. \(Lucas\)定理:当\(p\)为质数时,\(C_ ...
- Cron表达式详解【转】
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: Seconds Minutes Hours DayofMonth Month ...
- 学习python的第三天
4.28日总结 一.关于python 1.交互式 说一句解释一句 2.命令行式 1.编写文件并且保存 2.打开python解释器,在pyrhon中打开文本,读入内存(python打开的时候,翻译不是瞬 ...
- Hibernate学习——API学习
一.Configuration对象 解释:Hibernate的配置文件对象,是Hibernate启动加载的第一个对象,它会定位到映射文档的位置,读取配置文件,创建一个SessionFactory对象. ...
- 折腾Java设计模式之解释器模式
解释器模式 解释器模式是类的行为模式.给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器.客户端可以使用这个解释器来解释这个语言中的句子. 意图 给定一个语言,定义它的文法表 ...
- 简单计算器 安卓 Android 作业
Android老师布置的课程作业——简单计算器 功能要求实现四则运算,参考界面见下图: 首先给各位老铁提供apk安装包以及项目压缩包,略表诚意~ github地址:https://github.com ...
- 外呼系统APP外呼软件手机电销软件拨号销售软件功能设计
外呼系统APP外呼软件 1 系统概述 该软件系统设计功能主要为贷款.投资.资产管理等金融中介公司提供方便快捷的线上管理各类资源的一款应用软件工具. 可根据不同职位的账号登录APP来管理电话营销.客户签 ...
- 需求分析&用例编写
一.需求分析? 1.什么是需求 软件产品必须完成的是以及必须具备的品质. 功能性需求:产品必须完成的那些事,要求一定的功能和品质. 例子:淘宝的用户名登录. 非功能性需求:产品必须具备的属性和品质.诸 ...