顯示具有 NAS 標籤的文章。 顯示所有文章
顯示具有 NAS 標籤的文章。 顯示所有文章

2017年3月7日 星期二

建置git server

版本控制器是專案開發內很重要的工具, 早期多數人使用SVN, 目前最多數人使用的是git. 而git線上也有許多的空間提供使用github, gitlab等, 每家提供的限制不同, 其實要自行建置一個可以使用git的server也不會太難. 本篇說明如何自行建置一個git server.

設定Server端(使用Ubuntu的方式)
  • 前置作業
須要啟動SSH服務, 如果沒有設定請參考啟動SSH服務
  • 安裝相關套件
$ sudo apt-get update
$ sudo apt-get install git-core -y
# 如果不需要gitflowr架構可以不需要安裝
$ sudo apt-get install git-flow -y
# 安裝完成後查看git版本
$ sudo git --version
  • 設定git預設帳戶
$ sudo git config --global user.email "xxx@xxx.xxx"
$ sudo git config --global user.user "xxxxx"
# 查看設定的指令
$ sudo git config --list
  • 建立git專案
  • P.S. 使用NFS(synology NAS)作為存放路徑之設定

    1. 控制台->檔案服務->(打勾)啟動NFS服務
    2. 控制台->共用資料夾->右鍵點選需要開放NFS之資料夾->NFS權限->(打勾)允許使用者存取以掛載的子資料夾
# 建立git用資料夾
$ sudo mkdir /var/git
# 建立git專案資料夾並進入資料夾內
$ sudo mkdir /var/git/projname && cd /var/git/projname
# 以下兩種擇一
# 1.建立共用儲存庫
$ sudo git --bare init
# 2.初始化為git-flow
$ sudo git flow init -d

  •  設定群組及使用者帳戶權限

# 新增Ubuntu使用者(只須設定一次)
$ sudo adduser username
# 新增Ubuntu群組(只須設定一次)
$ sudo groupadd git
# 設定使用者群組
$ sudo usermod -a -G git username

# 變更檔或目錄的所屬群組(路徑內新增專案就需要重新執行)
$ sudo chgrp -R git /var/git
# 修改GIT專案資料夾之存取權限(路徑內新增專案就需要重新執行)
$ sudo chmod g+rwx -R /var/git

設定Server端(使用NAS的方式)
  1. 使用管理權限使用者(admin)登入NAS主機網頁介面
  2. 控制台 > 終端機 & SNMP > 啟動SSH
  3. 套件中心 > 安裝git server套件
  4. 設定git server套件之使用者
  5. 控制台 > 共用資料夾 > 新增共用資料夾(ex. git) > 設定須使用git的使用者
  6. 使用管理權限使用者(admin)登入NAS SSH服務, 執行如下指令
# 建立git專案資料夾
$ mkdir /volume1/git/projname && cd /volume1/projname
# 以下兩種擇一
# 1.建立共用儲存庫
$ sudo git --bare init
# 2.初始化為git-flow
$ sudo git flow init -d

設定Client端 (Windows + SourceTree)
  • 安裝SourceTree
  • 開啟SourceTree > Clone/New > 設定來源 > 設定存放位置 > 確認完成 
# 來源路徑如下
$ ssh://username@xxx.xxx.xxx.xxx/var/git/projname
# 來源為NAS路徑如下
$ ssh://username@xxx.xxx.xxx.xxx/volume1/git/projname

啟動NFS服務

工作上有一台沒人用的NAS(Synology 1512+)就拿來當作Ubuntu主機的硬碟空間使用。本篇說明如何設定Ubuntu主機的NFS服務使用NAS的空間。
  • NAS端(Synology 1512+)
    1. 使用管理權限使用者(admin)登入NAS主機網頁介面
    2. 控制台 > 檔案服務 > NFS服務 > 打勾
    3. 控制台 > 共用資料夾 > 新增/編輯共用資料夾(ex. workspace)
    4. 權限 > 管理權限使用者(admin) >  可讀寫
    5.  NFS 權限 >  設定"主機名稱或IP位址*"
    6.  NFS 權限 > 設定"Squash" > "將所有使用者調整為admin"
    7. 確定
  •  Ubuntu主機
    • 安裝所需要套件
$ sudo apt-get update
$ sudo apt-get install nfs-common -y
    • 手動擴充NFS
# add "nas" folder
$ sudo mkdir /nas
# mount NFS to "nas"
$ sudo mount xxx.xxx.xxx.xxx:/volume1/workspace /nas
# check mount of success
$ df -h
    • 開機自動擴充NFS
$ sudo vim /etc/fstab
# add to end of file
xxx.xxx.xxx.xxx:/volume1/workspace    /nas    nfs defaults 1 1
 Reference