gerrit oauth

  • Category: 電腦相關
  • Last Updated: Friday, 12 June 2015 11:26
  • Published: Saturday, 09 May 2015 11:58
  • Written by sam

某天某使用者來說

 photo 2015-05-09_112233_zpslzz2oail.jpg

掛點了…

軟體是gerrit版本是2.8,網路有許多合併方式

建了許多的測試機來試…但可能功夫不到位,終以失敗告終

討論之後,還是以新建後,再將裡面的專案掛回

先從建立主機開始

xen-create-image --hostname=testgerrit --memory=512mb --vcpus=2 --lvm=pm-team-acer-vg --pygrub --size 100G --dhcp
xen create /etc/xen/testgerrit.cfg
啟動後登入
xen console testgerrit

先裝基本套件

apt-get update
apt-get install git
apt-get install openjdk-7-jdk
apt-get install postgresql
apt-get install apache2
apg-get install wget
root@testgerrit:~# sudo su - postgres
postgres@testgerrit:~$ psql
psql (9.3.6)
Type "help" for help.
建立帳號
postgres=# create user
user              user mapping for
postgres=# create user gerrit2 with password 'gerrit2';
CREATE ROLE
建立資料庫
postgres=# create database reviewdb owner gerrit2;
CREATE DATABASE
這邊看一下是否有新建的資料庫
postgres=# \l
                             List of databases
   Name    |  Owner   | Encoding  | Collate | Ctype |   Access privileges
-----------+----------+-----------+---------+-------+-----------------------
 postgres  | postgres | SQL_ASCII | C       | C     |
 reviewdb  | gerrit2  | SQL_ASCII | C       | C     |
 template0 | postgres | SQL_ASCII | C       | C     | =c/postgres          +
           |          |           |         |       | postgres=CTc/postgres
 template1 | postgres | SQL_ASCII | C       | C     | =c/postgres          +
           |          |           |         |       | postgres=CTc/postgres
(4 rows)

有了,離開
postgres=# \q
這邊能看到,我沒建新的os user,而是直接用此帳號,建一個獨立資料夾
mkdir /s
java -jar gerrit-2.11.war init -d /s
試啟動…
root@testgerrit:/s# ./bin/gerrit.sh start
結果當然是fail
Starting Gerrit Code Review: FAILED
最重要的就是看log…
root@testgerrit:/s/logs# cat error_log
1) No index versions ready; run Reindex
下個指令就行
root@testgerrit:/s# java -jar gerrit-2.11.war reindex
錯誤中還有最重要的就是我們安裝時選的,使用oauth驗證,就是此次最重要的套件
請至以下網址下載及參照安裝
https://github.com/davido/gerrit-oauth-provider
再次執行指令,以便將plugin給成功設定
root@testgerrit:/s# java -jar gerrit-2.11.war init
當然新的api驗證也必需要申請
https://console.developers.google.com
再重新啟動一次,一切正常了
root@testgerrit:/s# ./bin/gerrit.sh start
Starting Gerrit Code Review: OK
再次測試,關掉虛擬機
xen destroy testgerrit
檢查一下,真的關了
root@pm-team-acer:~# xl list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  3635     8     r-----  329114.7
ag-server                                    1  1024     1     r-----  285869.5
artifactory-server                           2  1024     1     -b----   78803.9
keenhigh-git                                 5  1536     2     -b----  218190.1

再啟動一次
xen create /etc/xen/testgerrit.cfg

 photo 2015-05-09_115347_zpscizovcgo.jpg

 photo 2015-05-09_115355_zpsxgsjgwyx.jpg

再來就是搬回專案了…

忘了設定一開始的apache2

主要是要將port80導到gerrit的8080

先啟動套件
root@gerrit:/etc/apache2/sites-available# a2enmod proxy_http

再進site-available修改檔案

proxypass / http://localhost:8081/
proxypassreverse / http://localhost:8081/

最後再重新啟動一次

/etc/init.d/apache2 restart

完成

後來覺得也沒別的服務…乾脆移掉好了

直接將gerrit服務改成80port就好…

update-rc.d -f apache2 remove

##############################

add Plugin_delete-project_stable-2.11

https://ci.gerritforge.com