日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1gitolite构建git服务器

發布時間:2024/9/27 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1gitolite构建git服务器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


軟件環境:在有網絡條件下(主要是為了安裝軟件)UbuntuKylin 14.04

1?安裝openssh-serveropenssh-client,如果用的是VPS之類的一般都默認安裝好了,不過,不管有沒有安裝好,都執行下面的命令仍然是沒有問題

sudo apt-get -y install openssh-server openssh-client

2?安裝git,這個是核心軟件,不可以缺少

sudo apt-get -y install git

3添加gitolite用戶和同名用戶組,加上–system參數,用戶就不會再登錄界面顯示。

sudo adduser --system --shell /bin/sh --group --disabled-password --home /home/gitolite gitolite

4生成ssh key,一路回車下來

ssh-keygen -t rsa(關于要存儲路徑的,我選擇的是默認的,也就是說直接點擊enter實現)

進入/home/toto/MyDisk/gitolite目錄,輸入命令:ls –a 可以看到如下信息:

其中,admin是私鑰,不能刪除,要自己保存好,admin.pub就是驗證所需的公鑰

5?將你當前用戶的sshpub key復制到/tmp下備用(這種情況是本地安裝的方式)

cp admin.pub /tmp/ubuntugege.pub

pwd

?

如果你是ssh遠程登陸到服務器上安裝,就要把你本地的key復制到遠程的機器上

scp ~/.ssh/admin.pub gitolite.server:/tmp/ ubuntugege.pub

6?安裝gitolite,ubuntu中已經集成了,不用自己去下載。

sudo apt-get –y install gitolite

注意,上面提示要安裝git-daemon-rungitweb

安裝命令是:

sudo apt-get –y install git-daemon-run

sudo apt-get –y install gitweb

7切換到gitolite用戶環境中,因為我要以gitolite用戶身份去初始化安裝。

sudo su – gitolite

接著輸入:

gl-setup /tmp/ ubuntugege.pub

注意:在安裝過程中會出現如下情況,直接退出即可:

版本倉庫位于:/home/gitolite/repositories/gitolite-admin.git/

進入/home下,ls,發現如下:

輸入exit退出上面的命令行

8?把管理庫gitolite-admin克隆過來就可以開始gitolite用戶及代碼庫的管理了,如果不能克隆,那么就說明初始化的ssh pub key錯了,如圖就是成功了。

git clone ssh://gitolite@localhost/gitolite-admin.git

輸入自己設置的密碼:123456

注意:所屬用戶

執行git clone之后,發現已經有了一個克隆的倉庫了。

9?管理Gitolite

A管理員克隆gitolite-admin管理庫

gitolite安裝完成后,在服務器端自動創建了一個用于gitolite自身管理的git庫:gitolite-admin.git,克隆gitolite-admin.git庫。命令如下:

git clone ssh://gitolite@localhost/gitolite-admin.git

驗證的命令如下:

toto@toto-virtual-machine:~/gitolite-admin$ pwd

/home/toto/gitolite-admin

toto@toto-virtual-machine:~/gitolite-admin$ ls

conf?keydir

toto@toto-virtual-machine:~/gitolite-admin$ ls -F

conf/?keydir/

toto@toto-virtual-machine:~/gitolite-admin$ ls conf/

gitolite.conf

toto@toto-virtual-machine:~/gitolite-admin$ ls keydir/

ubuntugege.pub

toto@toto-virtual-machine:~/gitolite-admin$

從上面可以看出gitolite-admin目錄下有兩個目錄conf/keydir

keydir/ ubuntugege.pub文件

目錄keydir下初始時只有一個用戶公鑰.ubuntugege用戶的公鑰。

conf/ gitolite.conf文件

該文件尾授權文件。初始內容為:

toto@toto-virtual-machine:~/gitolite-admin/conf$ cat gitolite.conf

repo???gitolite-admin

???????RW+???? =?? ubuntugege

?

repo???testing

???????RW+???? =?? @all

缺省授權文件中設置了兩個版本庫的授權:

gitolite-admin

即本版本庫(gitolite管理版本庫)只有ubuntugege用戶有讀寫和強制更新的權限

testing

缺省設置的測試版本庫,設置為任何人都可以讀寫以及強制更新。

10?增加新用戶

???增加新用戶,就是允許新用戶能夠通過公鑰訪問git.只要新用戶的公鑰添加到gitolite-admin版本庫的keydir目錄下,即完成新用戶的添加。

A?管理員從用戶獲取公鑰,并將公鑰按照username.pub格式進行重命名。

用戶可以通過郵件或其他方式將公鑰傳遞給管理員,切記不要將私鑰誤傳給管理員。如果發生私鑰泄露,馬上重新生成新的公鑰/私鑰對,并將新的公鑰傳遞給管理員,并申請將舊的公鑰作廢。

用戶從不同的客戶端主機訪問著不同的公鑰,如果希望使用同一個用戶名進行授權,可以按照username@host.pub方式明明年公鑰文件,和名為username@pub的公鑰指向同一個用戶username.

Gitolite也支持郵件地址格式的公鑰,即形如username@gmail.com.pub的公鑰。Gitolite能夠智能的區分是以郵件地址命名的公鑰還是相同用戶在不同主機上的公鑰。如果是郵件地址命名的公鑰,將以整個郵件地址作為用戶名。

??B 管理員進入gitolite-admin本地克隆版本庫中,復制新用戶公鑰到keydir目錄。

$ cp dev1.pub keydir/?(注意生成公鑰的方法是通過ssh-keygen –t rsa的方式生成)

?

查看git倉庫的狀態

執行git add命令,將公鑰添加入版本庫。

執行git commit,完成提交

執行git push,同步到服務器,才真正完成新用戶的添加。


?

?

總結

以上是生活随笔為你收集整理的1gitolite构建git服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。