Gerrit安装及复制到Gitlab

简介:
1
2
3
4
5
6
7
# 直接下载jar文件后
java -jar gerrit-2.14.1.war init -d  /opt/gerrit
 
# 安装复制插件
unzip gerrit-2.14.1.war
ssh  -p 29418 gerrit_admin_user@localhost gerrit plugin  install  -n replication.jar - < . /WEB-INF/plugins/replication .jar
# 如果安装时提示权限问题,要在gerrit.config 上添加 allowRemoteAdmin 参数,文件见下面
1
2
3
4
5
6
7
# gerrit IP: 192.168.5.2
# gitlab IP: 192.168.5.3
 
# 在gerrit 上,把下面的结果放到gerrit账号的 known_hosts 文件中
ssh -keyscan -t rsa 192.168.5.3 >> ~/. ssh /known_hosts
ssh -keyscan -t rsa gitlab.dns.name >> ~/. ssh /known_hosts
# 同时把gerrit用户的ssh-key 添加到gitlab仓库中,并设置为需要同步仓库的master
1
2
3
4
5
6
7
8
9
root@grt01: /opt/gerrit/etc # cat replication.config 
[remote  "git01" ]
     projects = grt_demo01
         url = git@192.168.5.3:mobile /grt_demo01 .git      
         push = +refs /heads/ *:refs /heads/ *
         push = +refs /tags/ *:refs /tags/ *
         push = +refs /changes/ *:refs /changes/ *
         timtout = 30
         threads = 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
root@grt01: /opt/gerrit/etc # cat gerrit.config 
[gerrit]
     basePath = git
     serverId = 822d309b-9f9b-478b-21c7-1ca14f92abcf
     canonicalWebUrl = http: //grt01 . test . local :8080/
[database]
     type  = h2
     database =  /opt/gerrit/db/ReviewDB
[index]
     type  = LUCENE
[auth]
     type  = LDAP
     gitBasicAuthPolicy = HTTP
[ldap] 
         server = ldap: //ad . test . local
         username = service@ test . local
         password = 8888888
         accountBase = DC= test ,DC= local
#        groupBase = DC=test,DC=local
         accountPattern = (&(objectClass=person)(sAMAccountName=${username}))
         accountFullName = displayName
         accountEmailAddress = mail
         accountSshUserName = sAMAccountName
#        groupMemberPattern = (sAMAccountName=${username})
#        groupName = cn
[receive]
     enableSignedPush =  false
[sendemail]
         smtpServer = smtp. test .com
         smtpServerPort = 25 
         smtpUser = gerrit@ test .com
         enable = true
[container]
     user = gerrit
     javaHome =  /usr/lib/jvm/java-8-openjdk-amd64/jre
[sshd]
     listenAddress = *:29418
[httpd]
     listenUrl = http: // *:8080/
[cache]
     directory = cache
[plugins]
         # allow install plugin
         allowRemoteAdmin =  true

上面使用的是域认证

1
2
3
4
root@grt01: /home/gerrit/ . ssh # cat config 
Host git01
         IdentityFile ~/. ssh /id_rsa      #这里的证书,是在gitlab上有master权限的用户的证书
         PreferredAuthentications publickey
1
2
3
4
5
6
7
8
#把gitlab相关项目clone到gerrit
git clone --mirrror .....
#更改权限
chown  gerrit:gerrit -R .....
#移动到gerrit的仓库位置
mv  src  /opt/gerrit/git/
#重启gerrit,即可在gerrit看见相关项目
/opt/gerrit/bin/gerrit .sh restart

apache2 代理转发

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<VirtualHost *>
   ServerName grt01 
 
   ProxyRequests Off
   ProxyVia Off
   ProxyPreserveHost On
 
   <Proxy *>
     Order deny,allow
     Allow from all
     # Use following line instead of the previous two on Apache >= 2.4
     # Require all granted
   < /Proxy >
 
   AllowEncodedSlashes On
   ProxyPass / http: //127 .0.0.1:8080/ nocanon
< /VirtualHost >
1
2
3
4
5
6
7
8
9
10
11
#replication时出现 "channel is not opened" 错误, 使用非ssh方式解决
root@grt01: /opt/gerrit/etc # cat replication.config 
[remote  "git01" ]
     projects = grt_demo01
#        url = git@192.168.5.3:mobile/grt_demo01.git      
         url = http: //git : passwd @192.168.5.3 /mobile/grt_demo01 .git
         push = +refs /heads/ *:refs /heads/ *
         push = +refs /tags/ *:refs /tags/ *
         push = +refs /changes/ *:refs /changes/ *
         timtout = 30
         threads = 3


参考1

参考2

参考3

参考4

账号管理参考

config参数



本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1951504,如需转载请自行联系原作者

相关文章
|
3月前
|
Shell Docker 容器
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
|
2月前
|
Docker 容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
|
4月前
|
Devops 持续交付 开发工具
入职必会-开发环境搭建54-GitLab下载和安装
GitLab 是一个基于 web 的 Git 仓库管理工具,提供了代码托管、版本控制、协作开发、持续集成等功能,是一个综合的 DevOps 平台。用户可以使用 GitLab 托管他们的代码仓库,并利用其丰富的功能来管理和协作开发项目。 以下是 GitLab 的一些主要特点和功能。
入职必会-开发环境搭建54-GitLab下载和安装
|
3月前
|
Ubuntu 安全 网络安全
在Ubuntu 16.04上安装和配置GitLab的方法
在Ubuntu 16.04上安装和配置GitLab的方法
72 0
|
3月前
|
存储 Ubuntu 安全
在Ubuntu 18.04上安装和配置GitLab的方法
在Ubuntu 18.04上安装和配置GitLab的方法
64 0
|
3月前
|
缓存 Kubernetes Shell
CI/CD:安装配置Gitlab Runner
CI/CD:安装配置Gitlab Runner
315 0
|
5月前
|
持续交付 开发工具 git
阿里云云效产品使用问题之在云效代码域中gitlab使用docker安装的,迁移时遇到“获取企业信息失败”,是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
数据安全/隐私保护
宝塔安装gitlab
宝塔安装gitlab
155 0
|
6月前
|
Linux 网络安全 数据安全/隐私保护
centos7安装gitlab-ce社区版全过程,详细到爆炸,这些面试官常问的开发面试题你都掌握好了吗
centos7安装gitlab-ce社区版全过程,详细到爆炸,这些面试官常问的开发面试题你都掌握好了吗
|
6月前
|
网络协议 Linux 网络安全
GitLab安装和使用指南
GitLab安装和使用指南
268 0