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月前
|
缓存 数据安全/隐私保护 Docker
安装gitlab
安装gitlab
143 0
|
5月前
|
网络安全 开发工具 数据安全/隐私保护
Gitlab的安装
Gitlab的安装
79 0
|
4月前
|
存储 网络安全 数据安全/隐私保护
docker 安装gitlab,配置邮件,备份全流程
docker 安装gitlab,配置邮件,备份全流程
131 0
|
21天前
|
Linux 网络安全 开发工具
linux安装gitlab
linux安装gitlab
21 2
|
29天前
|
Devops 开发工具 数据安全/隐私保护
Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/5)
Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/5)
42 0
|
29天前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
179 0
|
2月前
|
数据安全/隐私保护 Docker 容器
【Docker】安装gitlab 傻瓜式复制安装
【Docker】安装gitlab 傻瓜式复制安装
58 0
|
2月前
|
数据安全/隐私保护 Docker 容器
百度搜索:蓝易云【Docker中gitlab以及gitlab-runner的安装与使用】
现在,你已经成功在Docker中安装和使用了GitLab以及GitLab Runner。祝你使用愉快!
32 1
|
4月前
|
开发工具 git
hbuilderX安装git插件→拉取线上gitlab项目
hbuilderX安装git插件→拉取线上gitlab项目
|
4月前
|
存储 Linux 网络安全
Git - Centos7下安装GitLab服务器
Git - Centos7下安装GitLab服务器
92 1