最近看到大陸那邊用 Go 語言寫了一套類似 Github 服務叫做 Gogs(Go Git Service),目前個人裝起來速度方面相當快,跟 GitLab 用 Ruby 寫的 Git Service 速度有差,以功能完整性來說,GitLab 還是大勝 Gogs,安裝方式則是 Gogs 勝於 GitLab,如果最後要推薦用 Gogs 還是 GitLab,我個人還是會選 GitLab 因為畢竟還是要搭配 Jenkins 等 CI 服務才能發揮作用,這次來筆記如何在 Ubuntu 上安裝 Gogs。
安裝 Go 環境
如果用 Ubuntu / Debian 系列,請不要透過 apt 方式安裝,因為安裝完成的 Go 版本會非常舊,請使用 tarball 方式安裝,首先到官方網站下載最新檔案
$ wget https://go.googlecode.com/files/go1.2.1.linux-amd64.tar.gz $ export PATH=$PATH:/usr/local/go/bin
也可以把 $PATH
寫到 .bashrc
檔案內,這樣下次開 Shell 就不用重新打一次,接著下 go version
看到底下結果表示安裝成功
$ go version go version go1.2.1 linux/amd64
最後將 $GOROOT
及 $GOPATH
設定上去
$ export GOROOT=/usr/local/go $ export PATH=$PATH:$GOROOT/bin $ export GOPATH=/home/git/gocode
安裝 Gogs service
安裝非常容易,只要透過底下兩個指令就安裝完成了
# Download and install dependencies $ go get -u github.com/gogits/gogs # Build main program $ cd $GOPATH/src/github.com/gogits/gogs $ go build
原始目錄會在 /home/git/gocode/src/github.com/gogits/gogs
接著可以看到 conf/app.ini
原始設定檔,官方建議不要修改此檔案,使用者可以自行建立 custom/conf/app.ini
來取代原始設定內容。最後執行 ./gogs web
$ ./gogs web Server is running... 2014/04/07 15:19:07 [conf.go:309] Log Mode: Console(Trace) 2014/04/07 15:19:07 [conf.go:310] Cache Service Enabled 2014/04/07 15:19:07 [conf.go:311] Session Service Enabled 2014/04/07 15:19:07 [install.go:53] Run Mode: Development 2014/04/07 15:19:07 [command.go:73] Gogs: Go Git Service 0.2.0.0403 Alpha 2014/04/07 15:19:07 [command.go:73] Listen: :3001
打開 http://localhost:3001 就可以看到下面畫面,代表安裝成功