1. 程式人生 > >搭建私有的git服務平臺

搭建私有的git服務平臺

為了實現公司開發平臺、個人電腦Windows平臺、個人電腦Linux平臺、國外買的雲伺服器、即將咬購買的阿里雲的雲伺服器之間的程式碼同步和快速部署,進行了一些簡單的技術選型,首先考慮的是rsync,發現安裝非常麻煩,然後考慮了一個商業軟體,安裝亦不順,最終決定還是走最成熟的程式碼倉庫平臺,svn和git都是不錯的選擇,但是考慮到兩點,拋棄了svn:

  1. svn在每個目錄下都有.svn資料夾,內容太多,複製過程中、grep過程中都可能帶來麻煩
  2. svn要起後臺服務,十分不便

於是乎,git成了不二選擇:

  1. git的每個repo都只有一個.git資料夾,不汙染原始碼
  2. git可以不啟後端服務(但是使用者必須使用ssh模式連線git“伺服器”)
下面記錄建立git伺服器的過程:

選擇root伺服器

首先選擇一個root伺服器,它必須滿足2個要求:1. 不停機 2. 所有平臺都能連線。於是只能用國外的雲伺服器作為root伺服器了。因為公司開發平臺只能連線外網,外網卻連不上它,個人電腦不滿足不停機的要求。

建立repository(在root伺服器上)

登入root伺服器,用root帳號建立一個使用者raywill, su raywill cd /home/raywill mkdir repository cd /home/raywill/repository/ git config --global user.name "raywill" git config --global user.email “
[email protected]
" 從此以後所有原始碼的root都在/home/root/repository目錄下了。

建立第一個專案(在root伺服器上)

一個repository下面可以有多個git專案,git命令的操作目標是單個的專案。例如淘寶有oceanbase和tair兩個專案,他們可能的目錄結構為: /home/raywill/repository/oceanbase /home/raywill/repository/tair
下面建立我們的第一個專案yiker git init --bare yiker 執行該命令成功後/home/raywill/repository/下生成了一個yiker目錄,該目錄裡面只有一個.git資料夾。

簽出專案並增加一個檔案(在個人電腦上)

簽出專案   cd ~   git clone [email protected]:/home/raywill/repository/yiker/ yiker_clone
  cd yiker_clone/
  ls
新建檔案
  echo "hello git" > README.txt 將修改提交到本地倉庫
  git add *
  git commit
將本地倉庫的修改同步到root伺服器   git push origin master
整個過程中遇到三個問題,都一一解決,這些問題都是git帶出來的,但都不是git的問題: 1. ssh 174.140.1.1連線極慢的問題 > 很多時候ssh連線慢是由於反向域名解析導致的,不過我遇到的不是這個。用DEBUG模式開啟ssh,可以看到慢在哪一步: ssh -v 174.140.1.1 可以看到ssh連線會嘗試用很多種認真方式連線ssh伺服器(root伺服器),我的卡在了 debug1: Next authentication method: gssapi-with-mic
這一步上。解決方法是編輯root伺服器上的ssh配置檔案: vi /etc/ssh/ssh_conf
找到
GSSAPIAuthentication yes
改為
GSSAPIAuthentication no
儲存。OK了,連線很快!
2. 不支援免密碼提交git push的問題 git支援四種傳輸協議:Local, SSH, Git, HTTP。Local就是本地玩玩,沒啥實際用途,Git、HTTP通常都是隻讀模式,而且都需要起server deamon,剩下只有SSH模式了,比較靠譜,很好使。因為採用了SSH模式,也就可以利用SSH帶來的一系列便利了,例如免密碼登入。具體方法見我的部落格:Linux主機間建立信任關係 這次卻奇怪了,按照流程操作卻依然不行,最後baidu一番才知道,是檔案的許可權導致的,具體參考Linux新增信任關係失敗這篇文章。 3. SSHD無法啟動的問題 因為搞ssh翻牆,另外手動啟動了一個sshd(原來的sshd沒有被覆蓋,新的sshd在/usr/local/bin/sshd,配置檔案中也配置了22埠),導致/etc/init.d/sshd restart失敗。 解決辦法:新的sshd只監聽翻牆埠,老的sshd只監聽22埠。 4. 其它問題

誤新增檔案到git,commit之前可以執行:

git rm -r --cached .

.gitignore

這句的意思是,跟蹤platfrom目錄下的所有檔案,但是忽略所有資料夾,因為有個/在最後>面。

platform/*/

data/*/

~      


相關推薦

通過用戶名、密碼提交的方式搭建私有git服務

服務 byte fat comm protoc delta .com abc ref 1. 系統環境 centos 7 git 1.8.3 yum -y install git 2).創建屬於自己的git庫   mkdir /myGit

利用阿裏雲搭建私有Git服務

clone tar.gz 時報 郵箱 log 項目 fun con archive 服務器系統:Centos 6 (查看centos版本命令:lsb_release -a) 客戶端系統:Windows 7 一、服務器端安裝Git ==通常centos上使用yum源安裝

通過使用者名稱、密碼提交的方式搭建私有git服務

1. 系統環境 centos 7 git 1.8.3 yum -y install git 2).建立屬於自己的git庫   mkdir /myGit   git init --bare xiangyun.git    3). 新增使用者 user

搭建私有的git服務平臺

為了實現公司開發平臺、個人電腦Windows平臺、個人電腦Linux平臺、國外買的雲伺服器、即將咬購買的阿里雲的雲伺服器之間的程式碼同步和快速部署,進行了一些簡單的技術選型,首先考慮的是rsync,發現安裝非常麻煩,然後考慮了一個商業軟體,安裝亦不順,最終決定還是走最成熟的

CentOS上搭建git服務以及介面化管理_centos下gogs+nginx+mysql實現私有git服務

掃二維碼關注,獲取更多技術分享 為了方便隨時隨地的開發,以及團隊化合作開發,一個好的版本管理工具是非常重要的。比較常用的版本管理工具有svn和git這是很多公司的選擇,關於如何搭建自己公司的svn以及實現程式碼部署請看我之前的部落格《Linux/

一步搞定私有Git服務器部署(Gogs)

soft 管理員 efault shared 自由 mes off valid art http://www.jianshu.com/p/424627516ef6 零、安裝 Docker 和 Compsoe 首先安裝 Docker: $ curl -sSL http

git-搭建企業git服務

city 密鑰對 id_rsa 服務 http private stk span 直接 1.安裝 yum install git 2.增加用戶 useradd git -d /home/git -g git 3.查看公鑰鑒權文件是否存在 cat /home/git/.ss

在Linux上搭建私有Git伺服器並建立私有遠端倉庫

       遠端倉庫實際上和本地倉庫沒啥不同,純粹為了 7x24 小時開機並交換大家的修改。GitHub 是一個免費託管開原始碼的遠端倉庫; 但是對於某些資原始碼(如生命的商業公司來說),不想公開原始碼, 可以自己搭建一臺 Git 伺服器作為私有倉庫使用。

Centos伺服器ssh免密登入以及搭建私有git伺服器

一、概述   伺服器的免密登入和git伺服器的搭建,關鍵都是要學會把自己用的機器的公鑰新增到伺服器上,讓伺服器“認識”你的電腦,從而不需要輸入密碼就可以遠端登入伺服器上的使用者   免密登入當然是登入root使用者,而搭建git伺服器需要在伺服器上建立一個git使用者。注意伺服器上每個使用者識別的公鑰存在不同

三分鐘小課堂--------------------搭建本地git服務

      如果你們公司很多大神習慣用git協作,那麼搭建git這種沒啥技術含量的工作,當然只能由菜鳥(我)來做了,安裝步驟如下: 軟體環境:Centos7.2  64位 1 安裝依賴庫 yum install curl-devel expat-d

如何在windows上搭建私有git伺服器

 注:本文使用gitblit 1、下載並安裝jdk. 點選Accept,根據PC配置下載32位或64位的jdk 2、配置Java環境變數 右鍵” 計算機” => ”屬性” => ”高階系統設定” => ”高階” => “環境變數” =&

利用阿里雲搭建私有Git伺服器

伺服器系統:Centos 6 (檢視centos版本命令:lsb_release -a) 客戶端系統:Windows 7 一、伺服器端安裝Git ==通常centos上使用yum源安裝的git版本過低== 1. 檢查系統上是否已經安裝git,若已有則解除安裝 // 檢視當前git版本 #

大型企業如何搭建私有云計算平臺

雲端計算已經成為當前最流行的IT概念之一,越來越多的大型企業開始考慮如何用雲端計算平臺來構建自己的資訊系統。雲端計算平臺具有高可擴充套件性、超大規模、高可用性、成本低廉等特點,因此如何利用雲端計算搭建企業資訊化平臺成為當前的熱門話題。但是對於雲端計算如何落地、企業如何利

版本控制系統之基於httpd搭建私有git倉庫

  在上一篇部落格中,我們主要聊到了git的基本工作原理和一些常用的git命令的使用;回顧請參考https://www.cnblogs.com/qiuhom-1874/p/13787701.html;今天我們來聊一聊git私有倉庫的搭建;   我們知道對於git的倉庫來講,不外乎就是一個檔案伺服器,也就說gi

使用Git與GitHub協同開發並搭建私有GitLab代碼托管服務

tlab conflict mixed its ssh 令行 mas windows安裝 emc 目錄 [TOC] Git的發展史 Linus在1991年創建了開源的Linux,從此全世界的工程師參與了Linux的開發,期初Linus是通過手動diff的方式進行代碼審核和合

GitLab → 搭建私有的版本控制的託管服務平臺

開心一刻   睡著正香,媳婦用力把我晃醒說:“快起來,我爸來了。”   我一下醒了,手腳熟練的把衣服一抱,滾到床底,順便把鞋也收了進去   媳婦蹲下無奈的說:“快出來!咱倆都結婚半年了。”   我:“對哦,搞習慣了” 環境準備   li

Centos 6.5搭建git服務

ref yum local 5.0 https figure kernel usr tar 安裝依賴 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

阿裏雲 linux搭建git服務

author 搭建 tails 登錄 命令 這一 sudo git ear git是非常方便的版本控制工具,目前網上有很多免費的git倉庫可以給我們使用,但是有些時候我們並不放心將我們的項目寄放在別人的服務器上,這個時候就需要自己搭建一個git服務器。 在linux上面

在阿裏雲上搭建自己的git服務

blank 打開 bar use span sql 有效 創建 管理 這篇文章我就來介紹一下如何在一臺全裸的阿裏雲主機上搭建自己的git服務器。 1. 安裝git 首先安裝git,一般而言,現在的服務器已經內置了git安裝包,我們只需要執行簡單的安裝命令即可安裝。比如: $

Linux 下搭建git 服務

domain 目錄結構 倉庫 read -i shel for public git clone 環境: 服務器 centos7.3 +git1.8.3.1 客戶端 centos7.2 +git1.8.3.1服務器配置; 1.安裝git yum inst