gerrit 在win7下安装总结

来源:互联网 发布:js 实现图片生成 编辑:程序博客网 时间:2024/06/06 01:29

安装软件及环境

操作系统win7,使用数据库gerrit自带h2,以及apache服务器

git版本:Git-1.7.8-preview20111206.exe

apache版本:httpd-2.0.64-win32-x86-no_ssl.msi

gerrit版本 : gerrit-full-2.5.2.war

安装过程:

这里为了便于管理,将所有软件都安装到D:\git\目录

安装好目录结构如下:

D:\git\gerrit

D:\git\Apache

D:\git\Git


安装过程注意事项:

在git安装过程中选择组件的时候我这里选择了







安装gerrit过程:


将gerrit-full-2.5.2.war 改名为gerrit.war

然后进入命令窗口执行

 java -jar gerrit.war init -d  D:/git/gerrit

前面的创建目录,git仓库位置,以及使用数据库h2,这些都默认即可

Authentication method          [OPENID/?]: 这里输入http    我们将使用httpd来对用户登陆做验证。

Get username from custom HTTP header [y/N]?
SSO logout URL                 : logout


下面邮件这块我们一会在进行配置,这里直接略过

*** Email Delivery
***


SMTP server hostname           [localhost]:
SMTP server port               [(default)]:
SMTP encryption                [NONE/?]:
SMTP username                  :


下面拷贝war包到安装目录,不下载插件。

*** Container Process
***


Run as                         [admin]:
Java runtime                   [C:\Java\jdk1.6.0_14\jre]:
Copy gerrit.war to d:git\gerrit\bin\gerrit.war [Y/n]? 


*** SSH Daemon
***


Listen on address              [*]:
Listen on port                 [29418]:


Gerrit Code Review is not shipped with Bouncy Castle Crypto v144
  If available, Gerrit can take advantage of features
  in the library, but will also function without it.
Download and install it now [Y/n]? n
Generating SSH host key ... rsa(simple)... done


Behind reverse proxy           [y/N]?
Use SSL (https://)             [y/N]?
Listen on address              [*]:
Listen on port                 [8080]:


*** Plugins
***


Prompt to install core plugins [y/N]?


Initialized  
Automatic startup not supported on Win32.


到此gerrit安装完成


Apache服务器安装比较简单,这里不做详细介绍,下面重点说配置,这里是最最核心部分

首先配置apache服务器:

D:\git\Apache\Apache2\conf目录下的httpd.conf

大概在159行 去掉下面几行的#注释

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so


在最后追加下面配置





<VirtualHost 192.168.3.171:8080>          
    ServerName localhost


    ProxyRequests Off
    ProxyVia Off
    ProxyPreserveHost On


    <Proxy *.8080>
          Order deny,allow
          Allow from all
    </Proxy>


    <Location /login/>
      AuthType Basic
      AuthName "Gerrit Code Review"
 AuthBasicProvider file     
      AuthUserFile D:/htpasswords
      Require valid-user               
    </Location>


    AllowEncodedSlashes On
    ProxyPass / http://192.168.3.171:8081/
    ProxyPassReverse / http://192.168.3.171:8081/
SetEnv force-proxy-request-1.0.1  
    SetEnv proxy-nokeepalive 1  
</VirtualHost>



下面配置gerrit的配置:

D:\git\gerrit\etc 目录下的gerrit.config文件修改成如下


[gerrit]
basePath = git
canonicalWebUrl = http://192.168.3.171:8081/
[database]
type = H2
database = db/ReviewDB
hostname = localhost
[auth]
type = HTTP
[sendemail]
smtpServer = smtp.263.net
smtpServerPort = 25
smtpUser = wenlin@superscene.com.cn
smtpPass = superscene123456
from = wenlin@superscene.com.cn
[container]
user = zhjj
javaHome = C:\\Program Files\\jdk\\jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://192.168.3.171:8081/
[cache]
directory = cache

注意上面的smtp设置,按照实际情况填写。



这里需要特别指出的是apache的端口和gerrit的端口是不同的,用户访问地址为apache的地址

其中htpasswd文件使用apache的htpasswd.exe创建,并添加用户,不会的可以上网查查

htpasswd [c] /home/svnroot/repository/authfile username password

htpasswd  D:\Users\Tommy\htpasswd xiaoming

htpasswd D:\Users\Tommy\htpasswd xiaoniu



关于启动,

启动gerrit

gerrit\bin>gerrit.sh start

这里一般的来说都提示启动失败

Starting Gerrit Code Review: FAILED

别害怕,一般的来说都是成功的,等一会就好了。

启动apache服务,然后访问apache服务,输入htpasswd中的账号和密码即可登录成功。



关于使用:

首先访问apache服务器,我这里的地址是 http://10.14.132.179:8080/

在弹出的输入框中输入账号密码,点击登录即可,有时候由于重定向等问题会出现一个配置错误的页面,这时只需要将再一次访问登录地址即可。

登录成功后点击右上角的Settings链接,然后点击Contact Information,对用户名进行配置

设置邮箱的时候可能会遇到拒绝访问的错误,这多半是smtp服务器设置有误,导致不能给用户发送邮件。


第一个成功登陆系统的用户即为管理员,可以通过点击Groups来查看当前用户拥有的所有角色。

点击Projects下的Create New Project可以创建一个新的项目


All-Projects 这个是项目权限模板,其他项目可以直接继承这个项目的权限设置。

点击新创建的项目,点击Access可以对项目做权限设置。

有些权限配置管理员可能也会碰到权限不足的情况,这时候可以指定一个项目的Owner,用Owner账户来做权限设置即可。



点击SSH Public Keys 对ssh key进行配置。可以在命令行下通过ssh-keygen -t rsa (或ssh-keygen -t rsa -C "zhjj) 命令生成密钥,

然后将C:\Users\username\.ssh下的id_rsa.pub文件里面所有内容复制到那个输入框里面即可,注意:所有内容都复制进去。


ssh -p 29418 username@10.14.132.179 

来验证是否能通过ssh访问gerrit服务器。注意如果服务器重新安装后可能会引起客户端存储的服务器验证不正确,此时只要删除C:\Users\username\.ssh下的known_hosts即可。


(如前端默认注册邮箱报500错误可使用命令行注册)

通过gerrit set-account修改

如果你gerrit服务器所在环境发送邮件有困难,那么你可以选择通过管理远程设置/修改gerrit用户的邮箱地址。命令如下,用该方法设置/修改email,方便快捷,而且能够立即生效(rsa公钥的检测,如果.ssh文件夹下的id_rsa.pub公钥内容没有注册到当前gerrit账户publickey中,会提醒Permission denied (publickey)

 ssh -p 29418 zhjj@192.168.3.168 gerrit set-account --add-emailwenlin@superscene.com.cnzhjj

(连接的gerrit登录用户名@地址)(邮箱、gerrit登录用户名)


设置git账户的用户名和邮箱

git config --global user.name "username"  
git config --global user.email username@163.com


通过git clone ssh://username@10.14.132.179:29418/work

将代码下载到本地,然后修改,然后提交

git status  --查看状态

git add .

git commit -m "这里是注释"


//将默认提交到分支里面

git config remote.origin.push refs/heads/*:refs/for/*


向服务器推送代码

git push origin

0 0
原创粉丝点击