Zi 字媒體
2017-07-25T20:27:27+00:00
如果要自行架設git server控管專案權限的話,需要安裝gitolite
1.安裝
#安裝基本的git-core
sudo apt-get install git-core
#安裝git server (gitolite)
sudo apt-get install gitolite
#新增git user(新增git 家目錄、user、group、shell為bash且不需要密碼)
sudo adduser --system --group --shell /bin/bash --disabled-password --home /home/git git
gitolite設定
#變身成git,設定基本路徑
sudo su git
echo "PATH=$HOME/bin:$PATH" > ~/.bashrc
source ~/.bashrc
#產生 gitolite 基本設定
mkdir tmp
//管理者的public key,建議使用帳號管理,ex:johnsonlu.pub
vim tmp/admin.pub
#匯入管理者public key
gl-setup tmp/admin.pub
#接著會進入.gitolite.rc設定,可以將$REPO_UMASK = 0077 改成 $REPO_UMASK = 0027,讓git group也可執行(非必要)
使用gl-setup後,就會產生相關檔案在/home/git下
.gitolite:存放log、repository權限設定檔、key等地方
repositories:存放repository內容
.gitolite.rc:gitolite設定檔
新增repository及user
#切換到管理者 user ex:su johnsonlu
#gitolite repository管理也是透過git
git clone git@your-domain:gitolite-admin
gitolite-admin裡有兩個主要檔案
conf/gitolite.conf:repository設定檔
keydir:存放public key,管理使用帳號命名user1.pub、user2.pub,如果帳號相同可以使用user@machine.pub代替
conf/gitolite.conf
#設定group
@developers-admin = johnsonlu calos
repo gitolite-admin
RW+ = johnsonlu
repo testing
#所有key都可以操作
RW+ = @all
#可針對branch做權限調整
repo decorate
RW+ master = #developers-admin
基本讀寫權限分類
C : 建立
R : 讀取
RW : 讀取、寫入
RW+ : 讀取、寫入、對 rewind 的 commit 做強制 push
詳細設定可以參考 這裡
Categories: Linux
分類
Android
AngularJS
API Blueprint
Chrome
Database
MySQL
DataStructure
Docker
Editor
Vim
Firefox
Git
GitLab
Google API
Hadoop
Language
Go
Java
JavaScript
jQuery
jQueryChart
Node.js
Vue
PHP
Laravel
ZendFramework
Python
Mac
Network
Cisco
DLink
Juniper
Oauth
Server
Apache
Share
Unix
FreeBSD
Linux
WebDesign
Bootstrap
CSS
HTML
Wordpress
Search
搜尋關鍵字:
寫了
5860316篇文章,獲得
23313次喜歡