當前位置:首頁 » 文件傳輸 » gitlab訪問慢
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

gitlab訪問慢

發布時間: 2022-09-09 04:29:04

① 如何在mac下遠程搭建git伺服器

方案一 基於SSH直接搭建
Git支持的協議主要是四種:
本地: 需要文件共享系統,許可權不好控制
HTTP:速度慢
SSH:同時支持讀寫操作,不支持匿名的讀取(Git默認協議)
GIT:最快
從搭建的難易程度和特點綜合篩選,最合適的還是ssh,並且大部分伺服器上基本都有ssh服務,所以省去了不少麻煩。一個最基本的思路是給每一個人一個ssh帳號,這樣大家就可以通過用戶名和口令來訪問了,但是顯然這不是一個好的選擇,這個做法有些多餘,並且對於repo的許可權很難管理。
在使用Github的時候,會利用rsa.pub公鑰/私鑰的方式,這樣在服務端擁有用戶的公鑰(*.pub)之後就可以,跨過繁瑣的口令,直接認證提交了,而服務端也會根據不同的用戶身份,對其許可權有著更加靈活的管理。因此也採用這種方式。
服務端
為了使遠程庫訪問更加直觀,先在伺服器上創建一個名為git的賬戶,這樣以後clone的時候就如下面的格式了:
git clone git@server:some.git
創建新的用戶,創建repo等目錄
$sudo adser git
$su git
$cd ~
$mkdir repos
在HOME下的。ssh目錄,如果沒有則創建,創建一個authorized_keys文件,這個文件就是用來管理所有git用戶的公鑰的,也就是這裡面的用戶對於項目有著R+W的許可權。
客戶端
對於每一個客戶端,需要生成一對密鑰和公鑰,如果是Github用戶,那麼。ssh目錄下,一定有id_rsa.pub和id_rsa兩個文件,其中第一個是系統生成的公鑰,另一個是自己要保存好的密鑰。如果沒有的話,可以在終端執行:ssh-keygen來生成,完成後,將自己的公鑰提交給管理員,這就是一個注冊的行為。
完成
最後一步,管理員將團隊成員的公鑰添加到authorized_keys中,比如將同學susie加入:
$ cat susie.pub 》 authorized_keys
至此,大家可以通過git@server:repos/some.git來訪問公共的版本庫了。
問題
安全問題,成員可以登錄git用戶的shell,細節許可權如分支等不好控制
管理麻煩,新建repo,或者增加成員比較麻煩,尤其是修改的時候
方案二 使用Gitolite服務
Gitolite 也是基於SSH協議構建的方便管理git repo的應用,可以通過其源碼安裝。
安裝
安裝按照官方給定的文檔就可以輕易的實現:
$ git clone git://github.com/sitaramc/gitolite
$ mkdir -p $HOME/bin
$ gitolite/install -to $HOME/bin
$ gitolite setup -pk YourName.pub
如果執行最後一條命令的時候,gitolite不識別,則可以通過下面兩種方式解決:
將gitolite添加到PATH裡面
通過$HOME/bin/gitolite setup -pk YourName.pub 執行
至此,gitolite在服務端,搭建完畢,會發現此時HOME目錄下增加了一個文件projects.list和一個目錄repositories,後者就是我們的版本倉庫了,每當新建repo的時候,就會在其中創建。
使用
是時候說一下gitolite的管理模式了,他會創建一個gitolite-admin的repo,管理員就是通過像這個repo提交配置文件而實現對git伺服器的控制的。
首先,將這個repo導入到我們的workspace:在此之前,需要配置本地的ssh,gitolite要求管理員的本地密鑰和其注冊公鑰的名字一致,比如安裝的時候指定 -pk後面為 admin.pub 則管理員本地需要由admin對應的私鑰。我們可以通過~/.ssh/config來進行配置(註:有些系統可以用conf,Mac OSX 下無效,只能用config)。
host gitolite
user git
hostname yourhostname.com
port 22
identityfile ~/.ssh/admin
這樣,當訪問gitolite的時候就會自動根據配置文件執行,配置完成後可以根據下面的命令,將gitolite-admin轉移到本地。
git clone gitolite:gitolite-admin.git
克隆完成後,可以發現,gitolite-admin下面有兩個目錄,其中conf保存配置文件,可以通過編輯裡面的gitolite.conf文件,管理git伺服器,keydir目錄保存用戶的公鑰pub文件。
當講修改後的repo 提交的時候,gitolite就會自動的應用這些配置,管理過程就方便了很多。
配置規則
打開gitolite.conf文件可以看到其中的示例:
To add new users alice, bob, and carol, obtain their public keys and add them to 'keydir' as alice.pub, bob.pub, and carol.pub respectively.
To add a new repo 'foo' and give different levels of access to these users, edit the file 'conf/gitolite.conf' and add lines like this:
repo foo
RW+ = alice
RW = bob
R = carol
上面的配置文件就是新建了一個repo foo,並且添加了三位項目成員,每一個人的許可權不同。提交push後,管理便生效了。
可視化
可能會需要一個web界面來管理這些項目,目前知道的有三種方式:
git源碼中自帶的組件,cgi腳本實現,使用gitolite服務
gitlab開源框架,基於ROR,新版本不再使用gitolite服務
FB開源PHP框架 phabricator,功能高端上檔次

② 新人剛接觸gitlab。求問怎麼使用瀏覽器訪問GitLab,網址是什麼

用瀏覽器訪問GitLab具體有3個步驟。

1、打開瀏覽器,在搜索欄里輸入「GitLab」,如下圖所示。

③ gitlab重新載入報錯

在本版本的gitlab中,在/opt/gitlab*中找不到uninstall文件,無法通過該方法卸載gitlab
經過摸索,可通過以下方法徹底卸載gitlab

sudo gitlab-ctl stopsudo gitlab-ctl uninstallsudo gitlab-ctl cleansesudo rm -rf /opt/gitlab1234

之後通過reboot命令重啟系統即可
其中,可通過sudo gitlab-ctl help來獲取相關命令
sudo gitlab-ctl uninstall,關於其的說明是
Kill all processes and uninstall the process supervisor (data will be preserved).
但在實際操作中,只通過uninstall無法徹底卸載gitlab

安裝方法

bitnami的下載鏈接https://bitnami.com/stack/gitlab/installer中只提供了虛擬機版本及雲伺服器版本,本人沒找到.run的安裝文件,於是只能通過官方的方法安裝。

本人是在amazon的雲伺服器上進行安裝,由於Ram只有1GB,不符合gitlab的最低運行要求,若直接安裝,會使得伺服器卡頓不堪,難以使用,且gitlab也無法正常運行,進入gitlab的服務網頁,會提示
502 Whoops, GitLab is taking too much time to respond:

無法使用,於是得先配置虛擬內存
另外,在伺服器剛啟動時,也會返回這個提示,是因為gitlab系統還沒跑起來,稍等片刻即可

sudo dd if=/dev/zero of=/swapfile bs=1024 count=2048ksudo mkswap /swapfilesudo swapon /swapfilesudo vim /etc/fstab
++/swapfile none swap defaults 0 012345

++後面的內容是添加到fstab文件中的內容
此處配置的虛擬內存(交換文件)是2GB,gitlab最低的運行內存要求是2GB,讀者們可以根據自己的硬碟情況和內存情況進行試驗
由於新版gitlab佔用內存變大,系統默認的在內存佔用超過40%時啟用swap不太合適,現象就是通過putty連接伺服器過慢,打開gitlab的網頁過慢等,影響到使用
於是可以把該閾值調整為50%。
方法是修改/etc/sysctl.conf文件

sudo vim /etc/sysctl.conf1

找到

vm.swappiness=601

將60,改為50
若找不到,則在文件最後一行添加上即可
vm.swappiness=60的意思是,當內存佔用超過40%時啟用swap
經測試,在本測試機上若按網上通常說的,把該閾值改為90%,是會出現訪問慢的問題,讀者需要根據自己的機器情況進行相關的調整

此外,gitlab佔用80埠提供網頁服務,若需要與其他web伺服器同時運行,需要進一步的設置

  • 進入官方安裝向導https://about.gitlab.com/downloads/

  • 選擇系統平台

  • 根據提示輸入終端命令

    終端命令如下:

  • sudo apt-get install curl openssh-server ca-certificates postfix

  • curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bashsudo apt-get install gitlab-cesudo gitlab-ctl reconfigure1234

  • 本人使用amazon的雲伺服器,下載速度有十幾MB/s,無需擔心網速的問題,安裝過程及其快速,gitlab是使用nginx作Web伺服器,其中配置有redis等服務

    初次通過網頁登錄gitlab,選擇login,將提示修改初始密碼,修改過後,可使用root作為用戶名以及剛修改的密碼來登錄gitlab

    配置方法(ubuntu)

  • 域名(ip)配置

  • cd /etc/gitlabsudo vim gitlab.rb

  • /external_url123

  • 把external_url項修改為自己的域名或者是ip地址

  • sudo postfix flush #立即發送隊列里的所有郵件sudo postqueue -p #顯示隊列里的郵件列表sudo postsuper -d ALLsudo postsuper -d MessageID #刪除特定ID的郵件sudo postfix reload #重新載入配置文件echo "This is the content" | mail -s "Mail Subject" target_address

  • #echo後的雙引號內接郵件內容,"Mail Subject"雙引號內是主題的名稱,target_address處填寫目的郵箱地址12345678

  • /var/log/mail.log``/var/log/mail.err裡面分別有日誌和錯誤原因,內容復雜,比較難看清楚

    配置文件只有一個:/etc/postfix/main.cfg
    但其中的內容基本不用改,我改了好像也沒什麼影響
    而對發件人有影響的是/etc/hostname,其中放著本機的名稱,修改它可使得測試時的發件人改變
    在本機上,若hostname是ip-xxx-xx-xx-xxx,發件人地址則為[email protected],若為其他,則發件人地址為』ubuntu@$hostname』,需要重啟才能生效,其中ubuntu是伺服器的登錄用戶名
    無論如何,測試郵件都可發送,只是時間長短的問題,可查看郵件隊列里的郵件,以及目標郵件的垃圾箱和被攔截郵件列表

④ 迅雷鏈接轉為普通鏈接

迅雷鏈接轉為普通鏈接,可以用轉換工具來實現,比如迅雷在線轉換工具。
迅雷使用先進的超線程技術基於網格原理,能夠將存在於第三方伺服器和計算機上的數據文件進行有效整合,通過這種先進的超線程技術,用戶能夠以更快的速度從第三方伺服器和計算機獲取所需的數據文件。這種超線程技術還具有互聯網下載負載均衡功能,在不降低用戶體驗的前提下,迅雷網路可以對伺服器資源進行均衡,有效降低了伺服器負載。

⑤ 怎麼使用瀏覽器訪問GitLab,網址是什麼

用瀏覽器訪問GitLab具體有3個步驟。

1、打開瀏覽器,在搜索欄里輸入「GitLab」,如下圖所示。

⑥ 有人用國內的代碼託管服務嗎哪個體驗比較好

隨著互聯網的高速發展,進入互聯網行業的人越來越多,而且隨著開源共享的風氣越來越好,因此很多人都會將自己的一些成果上傳到網站上與其他人共享,在共享的同時,也可以得到其他人的反饋意見,因此開源可以促進我們一起進步。
在互聯網上有專門的網站可以幫助我們來管理共享這些信息,對於我們程序員來說,能夠獲取到源碼對我們的收益很大,其中比較大型的的網站有GitHub,碼雲等,而且現在阿里,騰訊,網路,華為等都有自己的代碼託管倉庫。
GitHub代碼託管服務平台,現在已經被微軟收購,但是GitHub中一包含了全世界很多優秀的開源項目,我們可以從GitHub獲取到很多很多優秀的開源項目來進行學習,當然我們也可以將自己的項目上傳上去與他人分享。
GitHub中的代碼幾乎涵蓋了互聯網所有的行業,所以在GitHub上我們基本上都可以找到關於自己想要的內容。
GitHub最開始並沒有免費的私有倉庫,但被微軟收購之後,個人用戶可以創建私有倉庫,並且不限制個數,只是私有倉庫同時協作工作者只能有三個人,但這個也很大的方便了我們的使用。
Gitee(碼雲)是我們國內的一個代碼託管平台,由於GitHub屬於國外的網站,因此我們國內用戶訪問的時候,經常會很慢,很影響體驗效果,但是Gitee屬於我們國內自己的網站,因此不存在訪問速度慢的問題。
Gitee中也包含了很多的優秀項目,由於是國內網站,下載速度也會很的塊,Gitee中由於大多都是國人共享的項目,因此很多都是中文說明,對我們來說也超級友好。
Gitee中也可以創建免費不限個數的私有倉庫,如果想要創建一些私有代碼庫,Gitee是一個不錯的選擇,主要原因也在於他的訪問速度。
除了GitHub和Gitee之外,阿里,騰訊,網路,華為等企業也給我們提供了一些代碼管理平台,但這些主要面向群體是企業,對於個人來說,Gitee和GitHub是一個相對比較好的選擇。
除了使用互聯網中的代碼託管平台,我們也可以自己搭建一台私有的Git伺服器,將代碼保存在我們自己的伺服器上面。
搭建私有代碼託管伺服器這里介紹幾種:
1. 使用git搭建,因為不管GitHub還是Gitee等其他代碼託管平台基本上都是基於Git進行開發的,因此我們可以直接自己使用Git來搭建一台自己的代碼伺服器
2. Gitlab是一款比較大型的管理平台,除了可以對代碼進行管理之外,也可以有持續交付等高級功能,Gitlab提供社區版本來方便我們個人的搭建。
3. Gogs,一個開源的代碼託管項目,使用go進行編寫,相比Gitlab而言,Gogs很的輕量,整個項目也很的小,安裝起來也很方便,因此很適合我們個人的使用。

⑦ GitLab搭建個人(或公司)版本控制系統

說明:Git,Github,GitLab三者關系。

Git - 是一款自由和開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目。是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體。(svn是集中化的版本控制系統)。

GitHub - 是一個面向開源及私有軟體項目的託管平台(也就一個網站),提供給用戶空間創建git倉儲,保存用戶的一些數據文檔或者代碼等。它可以託管各種git庫,並提供一個web界面。被戲稱為「全世界最大的同性交流社區」。

GitLab - 基於Git的項目管理軟體。使用Git作為代碼管理工具,並在此基礎上搭建起來的web服務。

當然啦國內開源中國出的「碼雲」,第一次聽得人還以為是「馬雲」。我醬紫。它跟Github功能差不多,都能建立公有和私有的倉庫。不過嘛感覺有點封閉,社區沒有Github熱鬧。

有的人就說啦,我完全可以在Github或者GitLab上做遠端代碼倉庫,為啥還要倒騰GitLab自建代碼託管系統?就一個字: 「代碼安全性」(公司保密規定)。 對於公司來說,GitLab讓開發團隊對他們的代碼倉庫擁有更多的控制,相比於GitHub,它有不少的特色:

一、自建代碼託管系統都需要做些什麼工作?

1. 選擇開源軟體

Git 大家族的 GitLab ,它提供了完善的用戶許可權管理,除了涵蓋 Git 所有的功能,同時又提供方便的後台管理。分別有CE(社區版)、EE(企業版)、OM(RPM 包完整版)三個版本,目前市面上開發者們的普遍選擇是使用 CE 版的源碼,成本較低且相對方便。

2. 硬體設施方面

如果是對於中小型企業來講,自建機房一般成本較高,所以除非是大型集團企業。現在市面上存在太多的雲伺服器廠商,平均價格多在 5000元/年以上,都是不錯的選擇。

可能遇到的坑:

3.由於個人眼界以及信息不對稱,目前大部分公司都是在公司區域網內自行用GitLab搭建代碼託管系統。部署Gitlab 是對伺服器有配置要求的建議是CPU兩核,內存4G以上。個人經驗,勿噴啦。

二、搭建過程(這里僅是作者接觸的,其實還有很多更高級的盤法)

Gitlab的服務構成

1.搭建方法分為:傳統方式安裝GitLab和Docker安裝(推薦)。

2.傳統安裝過程(平台使用centos7安裝)

安裝和配置必要的依賴項:

安裝Postfix以發送通知郵件:

在安裝Postfix期間,可能會出現配置屏幕。選擇「Internet Site」並按enter鍵。使用您的伺服器的外部DNS以「mail name」並按enter。如果出現額外的屏幕,繼續按enter鍵接受默認值。

添加GitLab鏡像源並安裝gitlab伺服器:

注意這里設置的埠不能被佔用,默認是8080埠,如果8080已經使用,請自定義其它埠,並在防火牆設置開放相對應得埠。

重置並啟動GitLab:

訪問 GitLab頁面:如果沒有域名,直接輸入伺服器ip和指定埠進行訪問

獲取/修改超級管理員root的密碼:

最後我們使用默認的賬號:root 和剛剛設置好的密碼12345678進行登錄。

後面的步驟配置SSH key,git Bash的global config等初始化設置跟GitHub一樣。可是還有一點就是「漢化」。(英文不好的小夥伴)但是有一定風險,後面我打開報502錯誤。有兩種方法:用git比對出英文與中文的補丁,將英文打補丁。第二是直接下載中文版,替換英文。

3.Docker安裝(推薦)

(1)配置docker鏡像

直接從 docker hub 獲取的話速度非常慢,所以需要配置一個鏡像。我使用的是 cloud.io提供的加速器,速度很快。

(2)獲取 GitLab 鏡像

下載完成後,查看鏡像列表

(3)啟動容器

3個--publish指定容器與主機的埠映射,分別是 http、https、ssh

3個--volume指定數據卷的映射,分別是 gitlab 的 配置、日誌、數據

(4)配置外部訪問 URL

修改 gitlab 配置文件:

找到 external_url 這一項修改為自己伺服器的訪問地址:

保存後,重啟容器

(5)訪問

初次訪問時,gitlab 要求我們重置管理員密碼,修改完成後登錄。默認用戶root。

當然以上為個人實驗,公司裡面大部分為CTO等大佬已經搭建完畢,我們主要是折騰。

最後推薦個人用很順手的工具: SourceTree (可視化界面的Git),當然啦要想成為大牛或者裝13也好,還是從Git Bash里敲命令行。

⑧ 如何在ubuntu server 14.04下安裝gitlab中文版

gitlab是基於RubyonRails的,安裝和配置非常麻煩,不過有傻瓜安裝包,https://about.gitlab.com/downloads/,或者,https://bitnami.com/stack/gitlab/installer。但是這兩個包都是英文界面的,gitlab把界面提示寫在每一個rb文件里了,所以,要用中文版的不能像redmine那樣設定一下就行了。


幸好,還是有無私的大俠把gitlab給漢化了:https://larryli.cn/gitlab,代碼地址:https://gitlab.com/larryli/gitlab。


所以本文要做的事情是,不安裝傻瓜包,從源碼安裝gitlab。


gitlab官方有一個說明文檔:http://doc.gitlab.com/ce/install/installation.html,本文基本按照這個文檔來的。所不同的是,本文用的是apache,不是nginx。


安裝步驟有:


1.依賴包

2.ruby

3.用戶創建

4.資料庫初始化

5.redis

6.gitlab源碼

7.apache


本文可能會用到VPN連接,在命令行下創建VPN連接的方法如下:


sudoapt-getinstallpptp-linux

sudopptpsetup--createVPN名稱--server伺服器地址--username用戶名--password密碼[--encrypt]--start


以上命令會創建一個設備,如果沒有其他的撥號設備,這個設備會是ppp0,用ifconfig可以看到,「--encrypt」選項可選,因為有的伺服器不支持,會提示,創建時帶上「--start」選項可以看到連接的情況。

pptpsetup創建的VPN連接重啟後會失效,如果想在不重啟的情況下刪除VPN連接:


sudopptpsetup--deleteVPN名稱


創建VPN連接後還需要使能,並且添加到路由列表:


sudoponVPN名稱

sudorouteadddefaultdevppp0


禁用VPN連接的方法是:


sudopoffVPN名稱


下面開始正文:


1.依賴包


我裝的是ubuntuserver14.04,安裝的時候可以選是否安裝LAMP(Linux+Apache+Mysql+PHP),如果沒裝,可以用下面的命令裝:


sudotaskselinstalllamp-server


安裝的時候會提示輸入MySQL的root密碼,下面要用。

接下來是依賴關系:


sudoapt-getinstallflexbisonrubybuild-essentialzlib1g-devlibyaml-devlibssl-devlibgdbm-devlibreadline-devlibncurses5-devlibffi-devcurlopenssh-serverredis-servercheckinstalllibxml2-devlibxslt-devlibcurl4-openssl-devlibicu-devlogrotatepython-docutilspkg-configcmakelibkrb5-devnodejsgit-core


注意:這裡面裝了ruby,應該是1.9.1版本的,gitlab需要2.0以上的ruby,但是安裝2.0以上的ruby需要低版本的ruby,所以我們先裝上,一會兒卸掉。另外,ubuntu14.04的軟體庫里有ruby2.0,但是實測不能用,所以還是從源碼裝ruby吧。


2.ruby


下載,編譯,安裝(安裝前刪掉ruby1.9.1):


curl-L--progresshttp://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz|tarxz

cdruby-2.1.5

./configure--prefix=/usr--disable-install-rdoc

make

sudoapt-getautoremoveruby

sudomakeinstall


然後安裝bundler:


sudogeminstallbundler--no-ri--no-rdoc


3.用戶創建


為gitlab創建一個git用戶:


sudoadser--disabled-login--gecos'GitLab'git


4.資料庫初始化


官方指南用的是PostgreSQL,不過官方也有MySQL的說明:

http://doc.gitlab.com/ce/install/database_mysql.html


sudoapt-getinstall-ymysql-servermysql-clientlibmysqlclient-dev

mysql-uroot-p


輸入MySQL的root密碼登陸,然後:


mysql>CREATEUSER'git'@'localhost'IDENTIFIEDBY'$password';


記得把上面這句的"$password"換成實際的密碼,然後:


mysql>SETstorage_engine=INNODB;

mysql>CREATEDATABASEIFNOTEXISTS`gitlabhq_proction`DEFAULTCHARACTERSET`utf8`COLLATE`utf8_unicode_ci`;

mysql>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,LOCKTABLESON`gitlabhq_proction`.*TO'git'@'localhost';

mysql>q


5.Redis


Redis貌似是用來存key的資料庫吧,不知道,反正按步驟安裝:


sudoapt-getinstallredis-server

sudocp/etc/redis/redis.conf/etc/redis/redis.conf.orig

sed's/^port.*/port0/'/etc/redis/redis.conf.orig|sudotee/etc/redis/redis.conf

echo'unixsocket/var/run/redis/redis.sock'|sudotee-a/etc/redis/redis.conf

echo'unixsocketperm770'|sudotee-a/etc/redis/redis.conf

sudoserviceredis-serverrestart

sudousermod-aGredisgit


6.gitlab源碼


gitlab源碼默認是安裝在/home/git/gitlab,如果要更改,請參照官方手冊。獲取中文版源碼的過程如下:


cd/home/git

sudo-ugit-Hgitclonehttps://gitlab.com/larryli/gitlab.git


不知道是因為GFW還是什麼,gitclone這個版本庫可慢可慢了,我用了VPN,速度會快點。

gitclone完以後可以checkout你想要的版本,在本文編寫的時間(2015年4月22日),可以:


sudo-ugit-Hgitcheckout7-7-zh


然後配置源碼


cd/home/git/gitlab

sudo-ugit-Hcpconfig/gitlab.yml.exampleconfig/gitlab.yml

sudochown-Rgitlog/

sudochown-Rgittmp/

sudochmod-Ru+rwX,go-wlog/

sudochmod-Ru+rwXtmp/

sudo-ugit-Hmkdir/home/git/gitlab-satellites

sudochmo+rwx,g=rx,o-rwx/home/git/gitlab-satellites

sudochmod-Ru+rwXtmp/pids/

sudochmod-Ru+rwXtmp/sockets/

sudochmod-Ru+rwXpublic/uploads

sudo-ugit-Hcpconfig/unicorn.rb.exampleconfig/unicorn.rb

sudo-ugit-Hcpconfig/initializers/rack_attack.rb.exampleconfig/initializers/rack_attack.rb

sudo-ugit-Hgitconfig--globaluser.name"GitLab"

sudo-ugit-Hgitconfig--globaluser.email"[email protected]"

sudo-ugit-Hgitconfig--globalcore.autocrlfinput

sudo-ugit-Hcpconfig/resque.yml.exampleconfig/resque.yml


當然,你可以把[email protected]改成你的email;上面的那些yml文件裡面的配置基本都不用更改;然後,配置資料庫用戶名和密碼:


sudo-ugitcpconfig/database.yml.mysqlconfig/database.yml

sudo-ugit-Heditorconfig/database.yml

sudo-ugit-Hchmodo-rwxconfig/database.yml


然後,安裝gems:


sudo-ugit-Hbundleinstall--deployment--


這一步必須使用VPN,因為萬惡的GFW屏蔽了rubygems.org,所以會提示connectionresetbypeer之類的,這部時間也會比較久,如果你的機器是多核的,也可以加上和make相同-jN參數,N等於核數。


(2015年5月2日追加)

發現淘寶做了個rubygrems.org的國內鏡像,http://ruby.taobao.org/,可以參照上面的內容設置,加快gems安裝速度。


再接下來安裝gitlabshell:


sudo-ugit-Hbundleexecrakegitlab:shell:install[v2.6.0]REDIS_URL=unix:/var/run/redis/redis.sockRAILS_ENV=proction

sudo-ugit-Heditor/home/git/gitlab-shell/config.yml


把gitlab的url改成http://localhost/或者你的域名。

在接下來初始化資料庫:


sudo-ugit-Hbundleexecrakegitlab:setupRAILS_ENV=proction


加入啟動項:


sudocplib/support/init.d/gitlab/etc/init.d/gitlab

sudoupdate-rc.dgitlabdefaults21


初始化日誌:


sudocplib/support/logrotate/gitlab/etc/logrotate.d/gitlab


檢查應用狀態:


sudo-ugit-Hbundleexecrakegitlab:env:infoRAILS_ENV=proction


編譯附件:


sudo-ugit-Hbundleexecrakeassets:precompileRAILS_ENV=proction


啟動gitlab服務:


sudoservicegitlabstart


7.apache


下載apache的配置文件:https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/apache/gitlab-apache2.4.conf

將其中的「ProxyPassReverse

http://gitlab.example.com/」改成「ProxyPassReverse

http://localhost/」或者你的域名,將其中的「/var/log/httpd/logs/」改為「/var/log/apache2/」。

用命令來說:


wgethttps://gitlab.com/gitlab-org/gitlab-recipes/raw/master/web-server/apache/gitlab-apache2.4.conf

mvgitlab-apache2.4.conf001-gitlab.conf

editor001-gitlab.conf(進行上述修改)

sudocp001-gitlab.conf/etc/apache2/sites-available

cd/etc/apache2/sites-enabled

sudorm000-default.conf

sudoln-s../sites-available/001-gitlab.conf001-gitlab.conf


另外,還需要使能代理模塊以實現反向代理功能,不然會提示「ProxyPassReverse」無效之類的。


cd/etc/apache2/mods-enabled

sudoln-s../mods-available/proxy.confproxy.conf

sudoln-s../mods-available/proxy.loadproxy.load

sudoln-s../mods-available/proxy_connect.loadproxy_connect.load

sudoln-s../mods-available/proxy_http.loadproxy_http.load

sudoln-s../mods-available/rewrite.loadrewrite.load


重啟apache:


sudoserviceapache2restart


然後,檢查下配置是否正確:


sudo-ugit-Hbundleexecrakegitlab:checkRAILS_ENV=proction


如果都是綠色的結果,那就可以訪問了。登陸用戶名:root,初始密碼:5iveL!fe


最後配置一下郵件,修改/home/git/gitlab/config/gitlab.yml,裡面的「email_from:」為一個有效的email地址;修改/home/git/gitlab/config/environments/proction.rb,裡面的「config.action_mailer.delivery_method=」為「:smtp」;最後:


cd/home/git/gitlab/config/initializers

sudo-ugit-Hcpsmtp_settings.rb.samplesmtp_settings.rb


然後把文件的里的內容修改正確了,再重啟一下gitlab服務就行了:


sudoservicegitlabrestart

⑨ 為什麼自建的本地gitlab伺服器打開很慢

就需要使用ssh-keygen上傳公鑰,使用非對稱加密傳輸。下面講述如何上傳你的ssh公鑰... 3.1.2保存sshkey到gitlab 在面板上依次點擊Profile Settings – SSH Keys – Add SSH K

⑩ 如何在mac上使用git連接私有的gitlab伺服器

首先要 ssh遠程登陸工具比secureCRT等

案 基於SSH直接搭建
Git支持協議主要四種:
本: 需要文件共享系統許可權控制
HTTP:速度慢
SSH:同支持讀寫操作支持匿名讀取(Git默認協議)
GIT:快
搭建難易程度特點綜合篩選合適ssh並且部伺服器基本都ssh服務所省少麻煩基本思路給每ssh帳號家通用戶名口令訪問顯選擇做些余並且於repo許可權難管理
使用Github候利用rsa.pub公鑰/私鑰式服務端擁用戶公鑰(*.pub)跨繁瑣口令直接認證提交服務端根據同用戶身份其許可權著更加靈管理我採用種式
服務端
使遠程庫訪問更加直觀先伺服器創建名git賬戶clone候面格式:

git clone git@server:some.git

創建新用戶創建repo等目錄

$sudo adser git
$su git
$cd ~
$mkdir repos

HOME.ssh目錄沒則創建創建authorized_keys文件文件用管理所git用戶公鑰面用戶於項目著R+W許可權
客戶端
於每客戶端我需要密鑰公鑰Github用戶.ssh目錄定id_rsa.pubid_rsa兩文件其第系統公鑰另自要保存密鑰沒終端執行:ssh-keygen完自公鑰提交給管理員注冊行

步管理員團隊員公鑰添加authorized_keys比同susie加入:

$ cat susie.pub >> authorized_keys

至家通git@server:repos/some.git訪問公共版本庫
問題
安全問題員登錄git用戶shell,細節許可權支等控制
管理麻煩新建repo,或者增加員比較麻煩尤其修改候
案二 使用Gitolite服務
Gitolite 基於SSH協議構建便管理git repo應用通其源碼安裝.
安裝
安裝按照官給定文檔輕易實現:

$ git clone git://github.com/sitaramc/gitolite
$ mkdir -p $HOME/bin
$ gitolite/install -to $HOME/bin
$ gitolite setup -pk YourName.pub

執行條命令候gitolite識別則通面兩種式解決:
gitolite添加PATH面
通$HOME/bin/gitolite setup -pk YourName.pub 執行
至gitolite服務端搭建完畢發現HOME目錄增加文件projects.list目錄repositories,者我版本倉庫每新建repo候其創建
使用
候說gitolite管理模式創建gitolite-adminrepo管理員通像repo提交配置文件實現git伺服器控制
首先repo導入我workspace:前需要配置本ssh,gitolite要求管理員本密鑰其注冊公鑰名字致比我安裝候指定 -pk面 admin.pub 則管理員本需要由admin應私鑰我通~/.ssh/config進行配置(註:些系統用confMac OSX 效能用config).

host gitolite
user git
hostname yourhostname.com
port 22
identityfile ~/.ssh/admin

我訪問gitolite候自根據配置文件執行配置完根據面命令gitolite-admin轉移本

git clone gitolite:gitolite-admin.git

克隆完發現gitolite-admin面兩目錄其conf保存配置文件我通編輯面gitolite.conf文件管理git伺服器keydir目錄保存用戶公鑰pub文件
我講修改repo 提交候gitolite自應用些配置管理程便
配置規則
打gitolite.conf文件看其示例:
To add new users alice, bob, and carol, obtain their public keys and add them to 'keydir' as alice.pub, bob.pub, and carol.pub respectively.
To add a new repo 'foo' and give different levels of access to these users, edit the file 'conf/gitolite.conf' and add lines like this:

repo foo
RW+ = alice
RW = bob
R = carol

面配置文件新建repo foo並且添加三位項目員每許可權同提交push管理便效
視化
我能需要web界面管理些項目我目前知道三種式:
git源碼自帶組件cgi腳本實現使用gitolite服務
gitlab源框架基於ROR新版本再使用gitolite服務
FB源PHP框架 phabricator功能高端檔