Using Gogs Git Service - Part.1 - Install on Windows

現在可使用的 Git Online Service 相當多樣,例如 GitHub , Visual Studio Team Service , Bitbucket 等。

不過有些情況下,因不能運用線上服務時,我們就需要自行架設 Git Server,而私有 Server 的選擇有:GitLab , Gogs , Bonobo 等等...

接下來就以 Gogs 來記錄其使用方式。

前言

Gogs 是使用 Go 語言開發的 Git Service ( Web ),架設上非常容易。而安裝方式也相當多樣,相關資訊可參閱:Gogs WebSiteGogs 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下:

  1. 選擇 PostgreSQL:設定 + 確認相關資料是否正確。
  2. 設定 Repository 存放位置。
  3. 啟動服務使用者身份。
  4. 預設 Port。可自行修改。

其他設定:

  1. Email 設定:這裡設定 Gmail 服務,並勾選啟動 Email 通知。
  2. 保持預設。
  3. 輸入一組管理者帳戶。

成功安裝後,即可登入剛剛建立的管理帳戶,這樣就可以建立專案 Repo 與 Organization。( 接下來會有幾篇文做簡單的介紹記錄 )

Step3. 設定 Windows Service

安裝後,我們要使用時,會需要能設定到 Windows Service,以方便維運使用。可參閱 Run As Windows Service 介紹,可使用以下作法:(擇一即可)

以上,就完成了 Gogs + PostgreSQL on Windows 的安裝步驟。

備註

我們也可以在安裝的路徑下,找到 app.ini 設定檔:

其中可以找到log這個項目,請將LEVELInfo 改為 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 驗證使用者