現在可使用的 Git Online Service 相當多樣,例如 GitHub , Visual Studio Team Service , Bitbucket 等。
不過有些情況下,因不能運用線上服務時,我們就需要自行架設 Git Server,而私有 Server 的選擇有:GitLab , Gogs , Bonobo 等等...
接下來就以 Gogs 來記錄其使用方式。
前言
Gogs 是使用 Go 語言開發的 Git Service ( Web ),架設上非常容易。而安裝方式也相當多樣,相關資訊可參閱:Gogs WebSite、Gogs GitHub。
作業系統支持:Linux , Mac OS X , Windows and ARM.
資料庫支持:MySQL , PostgreSQL , SQLite3 and TiDB. ( MariaDB 亦可使用,可參閱小莊大的文章 - 在 CentOS 7 上安裝 Gogs 並透過 LDAP 接 AD 驗證使用者 )
看起來是不是還不錯,會選擇它的原因還有
Web UI 看起來跟 GitHub 十分相似,操作邏輯上亦同;對於習慣 GitHub 的朋友來說,架設私有服務後的學習成本來說應降低不少。
因自身對 Linux 尚不熟悉,所以接下來選擇 Windows 平台來操作。
環境
■ 作業系統:Windows 10 Professional x64
■ 資 料 庫:PostgreSQL 9.5
■ Git For Windows:v2.8.1
■ Gogs Service:v0.9.13
操作
Step1. 建立空資料庫
開啟 PostgreSQL 建立名稱為 gogs 的資料庫。
or
執行下 SQL 指令:
CREATE DATABASE gogs
WITH ENCODING='UTF8'
OWNER=postgres
CONNECTION LIMIT=-1;
Step2. 執行 Gogs 安裝
安裝檔下載:GitHub Releases,下載 windows_amd64.zip,解壓縮即可。路徑下可以看到 gogs.exe,這是封裝好的服務執行檔。
直接執行
gogs.exe web
成功啟動後,可以看到會在 gogs 目錄下建立 custom/conf/app.ini;這是它的 config,我們之後還會用到這檔案。
再來就是服務啟動於http://127.0.0.1:3000下:
- 選擇 PostgreSQL:設定 + 確認相關資料是否正確。
- 設定 Repository 存放位置。
- 啟動服務使用者身份。
- 預設 Port。可自行修改。
其他設定:
- Email 設定:這裡設定 Gmail 服務,並勾選啟動 Email 通知。
- 保持預設。
- 輸入一組管理者帳戶。
成功安裝後,即可登入剛剛建立的管理帳戶,這樣就可以建立專案 Repo 與 Organization。( 接下來會有幾篇文做簡單的介紹記錄 )
Step3. 設定 Windows Service
安裝後,我們要使用時,會需要能設定到 Windows Service,以方便維運使用。可參閱 Run As Windows Service 介紹,可使用以下作法:(擇一即可)
以上,就完成了 Gogs + PostgreSQL on Windows 的安裝步驟。
備註
我們也可以在安裝的路徑下,找到 app.ini 設定檔:
其中可以找到log這個項目,請將LEVEL從 Info 改為 verbose,之後請將 gogs 服務重啟。
[log]
MODE = file
LEVEL = verbose
ROOT_PATH = E:/DevProjects/LocalGit/gogs-web-server/log
這相當重要,因調整後 log 會顯示更多的訊息,有助於問題排除。
資源
● Gogs GitHub
● Gogs WebSite
● Gogs Doc - Run As Windows Service
● 在 CentOS 7 上安裝 Gogs 並透過 LDAP 接 AD 驗證使用者