gerrit+git+apach +nginx

第一次部署代码服务器,用了大概一周时间!看了很多博客最后才搞定!对linux 系统非常不熟,还重装了一次系统!

第一次成功之后,以后再部署应该就没什么难度了。

这里有几个关键点:

1.下载timeshift 备份系统,这一步非常关键,因为ubuntu不知道什么时候就崩了,我就遇到过一次什么软件都打不开,重启之后干脆连开机都开不了了,最后没办法只能重装系统。

重装系统之后先别做什么更新啊什么的,先去把下载源给换了,不然能等你1个多小时!

具体操作参照:https://zhuanlan.zhihu.com/p/61228593

更新号系统之后去安装TimeShift

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt update
sudo apt install timeshift

安装完之后 设置一下备份的内容https://www.jianshu.com/p/a1b5610c9a50

更多设置百度一下有很多。

2.安装git

sudo apt install git

git --version //用来测试 

网上资料很多https://blog.csdn.net/qq282330332/article/details/51855252 

3.配置java 环境

  下载jdk8(目前官网要注册才能下载,但可以去国内的一些资源网站找)

#下载安装JDK(1.8) 需要自己去找资源包,官网现在需要注册

#进入指定文件夹,解压压缩包
tar -zxvf jdk*.tar.gz 

# java环境变量配置文档
#1.打开配置文件
sudo vim /etc/profile 
# 2.按 i 进入插入面板,后拉到底部 添加
i
#3.添加配置环境变量
export JAVA_HOME=/apps/java  #jdk文件目录(上面解压目录)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
#4.保存退出
esc
shift+:
wq
enter

#5.让指令生效
source /etc/profile

#6.测试指令是否成功
javac/java -version

 

4.安装 nginx

#安装配置nginx
sudo apt-get install nginx
#出现安装失败
dpkg: error processing package bluez (--configure) 
解决办法:
$ sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/
$ sudo mkdir /var/lib/dpkg/info/
$ sudo apt-get update
...
$ sudo apt-get -f install
...

$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old/
$ sudo rm -rf /var/lib/dpkg/info
$ sudo mv /var/lib/dpkg/info_old/ /var/lib/dpkg/info/
输入上述命令之后,在执行 sudo apt-get update 和 sudo apt-get upgrade 就不会有问题了。

#出现启动失败
Job for nginx.service failed because the control process exited with error code. See “systemctl stat
#1.nginx配置文件有错误
#运行下面命令查看修改
nginx -t
#已经启动nginx或者配置文件中的端口号被占用
#检查端口是否被占用
netstat -tnlp
#如果端口已经被占用,自己权衡一下是换个端口还是把占用端口的进程杀掉
#检查nginx是否已经启动
ps -aux | grep nginx
#如果已经启动使用下面命令干掉即可
pkill -9 nginx

#启动nginx
sudo /etc/init.d/nginx start

#reload nginx
sudo nginx -s reload

#失败 端口80被cupsd 进程占用
#修改配置文件
sudo gedit /etc/nginx/sites-available/default
修改端口

 

5.安装apach

sudo apt-get install apache2

相关资料:https://blog.csdn.net/gatieme/article/details/53025505 网上有很多

6.创建gerrit 账号

#5.gerrit管理帐号(可选,使用独立账号配置gerrit)

sudo adduser gerrit

sudo passwd gerrit

#并将gerrit加入sudo权限

sudo vim /etc/sudoers

#插入

gerrit #后面的复制root账号

i

esc

shift+:

wq! #强制修改

切换到gerrit 账号

su gerrit

这里切换到gerrit 之后要注意:后面配置的时候很可能会出现permissionDennied 的错误,因为涉及到的账号密码或者其他文件是需要权限的

6.安装gerrit

 

#安装配置gerrit
#edit gerrit config gerrit配置文件
sudo vim ./review_site/etc/gerrit.config
//need edit canonicalWebUrl to your ip add 
//httpd listenUrl port must be the same with canonicalWebUrl:wq
[gerrit]
	basePath = git
	canonicalWebUrl = http://192.168.x.xxx:8081/
[database]
	type = h2
	database = /media/gerrit/3ae7dad6-d7d2-42d4-8a2d-cb747297c6e1/myapps/gerrit_site/db/ReviewDB
[index]
	type = LUCENE
[auth]
	type = HTTP
[oauth]
    allowEditFullName = true
    allowRegisterNewEmail = true
[receive]
    enableSignedPush = true
[sendemail]
	enable = true
	smtpServer = smtp.qq.com
	smtpEncryption = SSL
	smtpServerPort = 465
	sslVerify = true
	smtpUser = xxx@qq.com
        smtpPass = xxx
        from = Code Review<xxx@qq.com>
[container]
	user = gerrit
	javaHome = /media/gerrit/3ae7dad6-d7d2-42d4-8a2d-cb747297c6e1/myapps/jdk1.8.0_212/jre
[sshd]
	listenAddress = *:29418
[httpd]
	listenUrl = proxy-https://*:8081/
[cache]
	directory = cache
[http]
	proxy = http://192.168.x.xxx:8080

[theme]
        backgroundColor = FCFEEF
        textColor = 000000
        trimColor = D4E9A9
        selectionColor = FFFFCC
        topMenuColor = D4E9A9
        changeTableOutdatedColor = F08080
[theme "signed-in"]
        backgroundColor = FFFFFF

#chek gerrit err log //查看gerrit 错误日志
gerrit_reviewsite/log/error_log


# htpasswd add user config
sudo htpasswd -c gerrit.passwd admin //管理员账号

touch ./gerrit_site/etc/passwd //添加普通账号
htpasswd -b ./gerrit_site/etc/gerrit.passwd a 123456



#apach log 查看apach 错误日志
cd /var/log/apache2
#apach 配件
<VirtualHost *:8080>                                                                                                            
     ServerName 192.168.8.xxx
     ProxyRequests Off
     ProxyVia Off
     ProxyPreserveHost On
     AllowEncodedSlashes On
     RewriteEngine On
     RewriteRule ^/(.*) http://192.168.x.xxx:8081/$1 [NE,P]
 
     <Proxy *>
         Order deny,allow  
         Allow from all
     </Proxy>
 
     <Location /login/>
         AuthType Basic
         AuthName "Gerrit Code Review"
         Require valid-user
         AuthBasicProvider file
         AuthUserFile /media/gerrit/3ae7dad6-d7d2-42d4-8a2d-cb747297c6e1/myapps/gerrit_site/etc/gerrit.passwd
     </Location>
 
     ProxyPass / http://192.168.1.xxx:8081/
 
</VirtualHost>
#nginx log 查看nginx 错误日志
192.168.x.xxx:358
/var/log/nginx/error.log

#存放账号密码的文件路径,注意权限问题,gerrit要有权限访问
/media/gerrit/myapps/gerrit_site/etc/gerrit.passwd

#重启apache2
sudo /etc/init.d/apache2 restart
#gerrit smtp邮箱配置:注意smtp 邮箱配置smtpuser的时候需要去自己的
邮箱开启smtp服务,之后smtppasswd要写授权码

 

 注意:全部安装完成以后再去弄配置文件,只要安装成功慢慢修改配置文件一般都会成功,当然windows 下访问的时候会有坑

1.由于gerrit 使用的KexAlgorrithms diffie-hellman-group1-sha1 和本地策略不一致

需要收到在.ssh/ 文件夹里面加入config文件 (注意文件名称就是config 无后缀)

Host 服务器IP地址
	KexAlgorithms +diffie-hellman-group1-sha1

2.clone 的时候要使用 clone with commit-msg 那个地址,因为gerrit 每次提交需要changeid 这东西就是产生changeid 的

3.gerrit 不允许直接提交到master,只有经过审核才能summit,push路径需要配置

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

4.提交的时候要输入账号密码,注意密码是生成的  在gerrit 网页上登录之后 在Settings 里面 HttpPassword

5.当领导让你导入已有的git项目的时候让你把日志一起弄进去!

gerrit 可以配置forcepush 另外admin 账号是可以不审核直接提交的!(也可以removeviewers)

大概花了4天半的时间!后面越来越熟了,基本都是看日志解决问题,不用向无头苍蝇到处乱撞了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值