gerrit oauth
- Category: 電腦相關
- Last Updated: Friday, 12 June 2015 11:26
- Published: Saturday, 09 May 2015 11:58
- Written by sam
某天某使用者來說
掛點了…
軟體是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
再來就是搬回專案了…
忘了設定一開始的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
https://ci.gerritforge.com