迁移gitlab库到gerrit并保留历史记录
进入gerrit的git路径,我的是/home/gerrit/review_site/git
,有2个默认库
在这个路径下面拉取要迁移的gitlab代码的裸库
git clone --bare git@gitlab.com:Project/StandardDemo.git
然后重启gerrit服务
./review_site/bin/gerrit.sh restart
刷新gerrit页面就可以看到新项目了~
image.png
gerrit邮件发送失败
报错信息:
[2019-05-20 18:41:45,297] [HTTP-67] ERROR com.google.gerrit.httpd.restapi.RestApiServlet : Error in PUT /accounts/self/emails/darry.du%40oppo.com
com.google.gerrit.common.errors.EmailException: Mail Error: SMTP server rejected auth: 220 proxy-cli2.qy.internal ESMTP ready
at com.google.gerrit.server.mail.send.SmtpEmailSender.open(SmtpEmailSender.java:392)
at com.google.gerrit.server.mail.send.SmtpEmailSender.send(SmtpEmailSender.java:176)
at com.google.gerrit.server.mail.send.OutgoingEmail.send(OutgoingEmail.java:211)
at com.google.gerrit.server.account.CreateEmail.apply(CreateEmail.java:144)
at com.google.gerrit.server.account.CreateEmail.apply(CreateEmail.java:103)
at com.google.gerrit.server.account.CreateEmail.apply(CreateEmail.java:47)
at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:290)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:280)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:184)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:89)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
根据SMTP server rejected auth
这句推测是跟权限有关系。
于是用python脚本发邮件进行测试,发现报错Error: (422, 'ERR.LOGIN.IPDENY')
但是在本地执行都是ok的,此时发现服务器跟本地ping邮件smtp服务器,输出的ip地址不一样。
服务器ping的 本地ping的
于是将gerrit的smtp地址换成本地ping的ip,邮件就发送成功了。
修改后的gerrit.config
网友评论