由於公司有建立 Git 版本控管,在 RD 的建議下希望使用 Gitblit 這套當作 Web 控制,所以就有了這一篇的誕生
Gitblit 在 Web 是擁有新增專案權限的,所以在使用者權限的控管是必要的,這套內建有支援簡體中文,但還是看英文比較好懂啦!
Gitblit 是一個基於 Java 的平台,支援 Linux / Windows Server 並且開放原始碼
Gitblit 安裝
Step.1 下載 Gitblit 並在這裡安裝在 /opt/gitblit
$ mkdir /opt/gitblit $ cd /opt/gitblit $ wget http://dl.bintray.com/gitblit/releases/gitblit-1.6.2.tar.gz $ tar zxvf gitblit-1.6.2.tar.gz
Step.2 安裝 Java
$ yum install java-1.7.0-openjdk $ vim /etc/java/java.conf JVM_ROOT=/usr/lib/jvm JAVA_HOME=$JVM_ROOT/jre $ vim /etc/profile JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85.x86_64 PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib export PATH JAVA_HOME CLASSPATH
Step.3 調整 Gitblit 的設定檔 gitblit.properties
git.repositoriesFolder 這個是你 Git 的家目錄
server.httpPort 這是 Gitblit 平台的 Web Port
$ vim /opt/gitblit/data/gitblit.properties git.repositoriesFolder = /home/git server.httpPort = 8080
Step.4 Gitblit 服務啟動
安裝 gitblit 服務 $ /opt/gitblit/install-service-centos.sh $ chkconfig gitblit on $ service gitblit start 或是手動啟動測試 $ java -jar gitblit.jar --baseFolder data
Step.5 打開瀏覽器 http://localhost:8080
Gitblit 整合 Nginx
為了方便,不希望使用者走 8080 port,所以採用 Nginx Proxy 代理,並且處理 ServerName 的部分
$ vim /etc/nginx/conf.d/gitblit.conf server{ listen 80; server_name shazi.info; error_log /var/log/nginx/error.log; location / { root /usr/share/nginx/html; index index.html index.htm; proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http://192.168.50.3:8080; proxy_set_header Host $Host; #proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_max_temp_file_size 1024m; } } $ service nginx restart
測試 http://ServerName 可以透過 80 連上!