公司無網環境如何配置gitlab
① gitlab 在內網伺服器,怎麼使用
ubuntu 13/pub/ruby/1/gitlabhq/gitlab-shell/',本地區域網安裝的話默認localhost就行/gitlabhq/gitlabhq.git gitlab# 進入 gitlab 目錄cd /home/git/gitlab# 切換到 gitlab 的 5.3 分支.sudo -u git -H git checkout 5-3-stablecd /home/git/gitlab# 復制 gitlab 的示例配置文件到指定目錄sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml# 如果用的不是本地伺服器,更改 localhost 為 gitlab 的伺服器域名sudo -u git -H gedit config/gitlab.yml# 確保當前用戶對 gitlab 的 log 和 tmp 文件有讀寫許可權.sudo chown -R git log/sudo chown -R git tmp/sudo chmod -R u+rwX log/sudo chmod -R u+rwX tmp/# 創建一個我不認識的目錄...汗!sudo -u git -H mkdir /home/git/gitlab-satellites# 再創建兩個我不認識的目錄...並且確保 當前用戶對他有讀寫許可權.sudo -u git -H mkdir tmp/pids/sudo -u git -H mkdir tmp/sockets/sudo chmod -R u+rwX tmp/pids/sudo chmod -R u+rwX tmp/sockets/# 創建公共的上傳備份目錄,並確保當前用戶對其有讀寫許可權.否則備份會失敗.sudo -u git -H mkdir public/uploadssudo chmod -R u+rwX public/uploads# 復制示例配置文件到制定目錄sudo -u git -H cp config/puma.rb.example config/puma.rb# 找到其中有一行 # workers 2,去掉前面的 # 並將 2 改為 3.sudo -u git -H gedit config/puma.rb# 配置 gitlab 的全局設置.sudo -u git -H git config --global user.name GitLabsudo -u git -H git config --global user.email gitlab@localhost# 復制示例Mysql配置文件到指定目錄sudo -u git cp config/database.yml.mysql config/database.yml# 修改裡面的 root 為 gitlab, 密碼為創建的 gitlab mysql 用戶密碼sudo gedit config/database.yml# 安裝一個我不認識的東西...我沒臉翻譯了...大哥你還是看原版教程吧cd /home/git/gitlabsudo gem install charlock_holmes --version '0.6.9.4'sudo -u git -H bundle install --deployment --without development test postgressudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=proction# 下載 gitlab 的 開始/停止 腳本,並且加入當前用戶的可執行許可權.sudo cp lib/support/init.d/gitlab /etc/init.d/gitlabsudo chmod +x /etc/init.d/gitlab# 添加 gitlab 的開機啟動sudo update-rc.d gitlab defaults 21# 檢查 gitlab 的狀態和環境配置是否正確.sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=proction# 啟動 gitlabsudo service gitlab start# 或者sudo /etc/init.d/gitlab restart# 再次檢查 gitlab 的狀態,如果全部綠色,說明 gitlab 配置成功.不知道為什麼,我要運行這個命令兩次才會全綠sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=proction七. 配置 Nginx# 軟體源安裝Nginxsudo apt-get install nginx# 復制 gitlab 的示例配置到指定目錄sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlabsudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab# 修改配置文件.更改其中的 YOUR_SERVER_FQDN 為你的 gitlab 伺服器全稱域名或者本機IP地址,修改 listen 為 *:80sudo gedit /etc/nginx/sites-available/gitlab# 重啟 nginx 伺服器sudo service nginx restart# 打開瀏覽器輸入本機 IP,用下面的用戶密碼登錄既可[email protected]!fe
② 如何在git-CentOS7下安裝GitLab
首先利用如下圖所示的命令打開HTTP與SSH訪問。
步驟二:添加GitLab軟體包伺服器並安裝軟體包
然後新建 /etc/yum.repos.d/gitlab-ce.repo,
並且,對代碼進行運行
③ 怎麼配置sourcetree和gitlab
第一個是在windows的環境下安裝,第二個是在windows或者lunix環境中安裝的。兩者都可以。安裝好git客戶端後,我們會發現它有Git
GUI和Git Bash及Git CMD這三種,我簡單的說一下Git
GUI是一個圖形工具相當於一個專門管理你代碼或者修改代碼,具體直觀的能看見的這個工具,只不過是英文版的和SourceTree的作用類似,但是好用一些。而Git
Bash就是利用Git的命令去一步一步的提交項目到你的github中,我開始就是用的命令去提交代碼,遺憾的是提交失敗很崩潰,並且命令也有幾條記不住,不用怕我們可以用SourceTree界面去提交項目,不再擔心那所謂的Git命令了。
④ 小公司搭建gitlab,應該選擇哪一種阿里雲伺服器
只跑gitlab一個應用的話至少保證雙核4G以上的配置。如果還想跑一跑別的應用的話,那麼4核8G以上開始考慮吧。
⑤ 如何用gitlab 做配置管理
進入JENKINS_HOME目錄,找到config.xml文件,找到了和節點。節點代表是否使用用戶許可權,節點代表用戶許可權是怎麼劃分的。
下面提供2種方法:
1、恢復默認設置
直接刪除和節點
2、配置管理員許可權
這種方法適用於已經存在一堆的許可權,重新配置麻煩。
在節點中添加內容如下:
hudson.model.Hudson.Administer:anonymous
hudson.model.Hudson.ConfigureUpdateCenter:anonymous
hudson.model.Hudson.Read:anonymous
hudson.model.Hudson.RunScripts:anonymous
hudson.model.Hudson.UploadPlugins:anonymous
⑥ Gitlab配置的時候可以不綁定域名嗎
可以的。
1.在gitlab的配置gitlab.yml中,host為你本機的ip
2.在gitlab-shell的配置config.yml中,gitlab_url:「http://yourip」
3.建議綁定一個,不然不清楚有沒有配置成功。不綁定的話也可以修改host為ip地址,可以是你的本地ip。
⑦ 關於gitlab許可權問題
公司切入Gitlab來管理代碼已經有一年多了,其中遇到很多許可權問題,如沒有許可權clone、沒有許可權提交代碼等等,這里做個總結. 許可權分為訪問許可權和行為許可權兩個層次.
訪問許可權 - Visibility Level
這個是在建立項目時就需要選定的,主要用於決定哪些人可以訪問此項目,包含3種
Private - 私有,只有屬於該項目成員才有原先查看
Internal - 內部,用個Gitlab賬號的人都可以clone
Public - 公開,任何人可以clone
行為許可權
在滿足行為許可權之前,必須具備訪問許可權(如果沒有訪問許可權,那就無所謂行為許可權了),行為許可權是指對該項目進行某些操作,比如提交、創建問題、創建新分支、刪除分支、創建標簽、刪除標簽等.
角色
Gitlab定義了以下幾個角色:
Guest - 訪客
Reporter - 報告者; 可以理解為測試員、產品經理等,一般負責提交issue等
Developer - 開發者; 負責開發
Master - 主人; 一般是組長,負責對Master分支進行維護
Owner - 擁有者; 一般是項目經理
許可權
不同角色,擁有不同許可權,下面列出Gitlab各角色許可權
1. 工程許可權
行為 Guest Reporter Developer Master Owner
創建issue ✓ ✓ ✓ ✓ ✓
留言評論 ✓ ✓ ✓ ✓ ✓
更新代碼 ✓ ✓ ✓ ✓
下載工程 ✓ ✓ ✓ ✓
創建代碼片段 ✓ ✓ ✓ ✓
創建合並請求 ✓ ✓ ✓
創建新分支 ✓ ✓ ✓
提交代碼到非保護分支 ✓ ✓ ✓
強制提交到非保護分支 ✓ ✓ ✓
移除非保護分支 ✓ ✓ ✓
添加tag ✓ ✓ ✓
創建wiki ✓ ✓ ✓
管理issue處理者 ✓ ✓ ✓
管理labels ✓ ✓ ✓
創建里程碑 ✓ ✓
添加項目成員 ✓ ✓
提交保護分支 ✓ ✓
使能分支保護 ✓ ✓
修改/移除tag ✓ ✓
編輯工程 ✓ ✓
添加deploy keys ✓ ✓
配置hooks ✓ ✓
切換visibility level ✓
切換工程namespac
⑧ 有哪位同學成功配置好Gitlab的么
#gitlab基於ruby開發模仿Github的版本控制軟體,因為是開源的,,但是我們確實有這樣的需求,相比Gtihub來說可以減少很多成本.#從安裝ruby、git、資料庫、web、和gitlab到訪問,一定要有耐心.#安裝libyaml(防止後期報錯,可不裝)#安裝Mysql資料庫.略過,以及資料庫操作#bundle使用淘寶源,並且安裝(時間長.)#初始化在資料庫里添加數據,最後後會出現:#安裝nginx,(編譯安裝和rpm都能實現)#####以下是報錯環節,沒怎麼整理很亂###################
⑨ macosx下,搭建gitlab的配置問題,請大牛們幫忙看看什麼問題
方案一基於SSH直接搭建Git支持的協議主要是四種:本地:需要文件共享系統,許可權不好控制HTTP:速度慢SSH:同時支持讀寫操作,不支持匿名的讀取(Git默認協議)GIT:最快從搭建的難易程度和特點綜合篩選,最合適的還是ssh,並且大部分伺服器上基本都有ssh服務,所以省去了不少麻煩。一個最基本的思路是給每一個人一個ssh帳號,這樣大家就可以通過用戶名和口令來訪問了,但是顯然這不是一個好的選擇,這個做法有些多餘,並且對於repo的許可權很難管理。在使用Github的時候,會利用rsa.pub公鑰/私鑰的方式,這樣在服務端擁有用戶的公鑰(*.pub)之後就可以,跨過繁瑣的口令,直接認證提交了,而服務端也會根據不同的用戶身份,對其許可權有著更加靈活的管理。因此也採用這種方式。服務端為了使遠程庫訪問更加直觀,先在伺服器上創建一個名為git的賬戶,這樣以後clone的時候就如下面的格式了:gitclonegit@server:some.git創建新的用戶,創建repo等目錄$sudoadsergit$sugit$cd~$mkdirrepos在HOME下的.ssh目錄,如果沒有則創建,創建一個authorized_keys文件,這個文件就是用來管理所有git用戶的公鑰的,也就是這裡面的用戶對於項目有著R+W的許可權。客戶端對於每一個客戶端,需要生成一對密鑰和公鑰,如果是Github用戶,那麼.ssh目錄下,一定有id_rsa.pub和id_rsa兩個文件,其中第一個是系統生成的公鑰,另一個是自己要保存好的密鑰。如果沒有的話,可以在終端執行:ssh-keygen來生成,完成後,將自己的公鑰提交給管理員,這就是一個注冊的行為。完成最後一步,管理員將團隊成員的公鑰添加到authorized_keys中,比如將同學susie加入:$catsusie.pub>>authorized_keys至此,大家可以通過git@server:repos/some.git來訪問公共的版本庫了。問題安全問題,成員可以登錄git用戶的shell,細節許可權如分支等不好控制管理麻煩,新建repo,或者增加成員比較麻煩,尤其是修改的時候方案二使用Gitolite服務Gitolite也是基於SSH協議構建的方便管理gitrepo的應用,可以通過其源碼安裝.安裝安裝按照官方給定的文檔就可以輕易的實現:$gitclonegit://github.com/sitaramc/gitolite$mkdir-p$HOME/bin$gitolite/install-to$HOME/bin$gitolitesetup-pkYourName.pub如果執行最後一條命令的時候,gitolite不識別,則可以通過下面兩種方式解決:將gitolite添加到PATH裡面通過$HOME/bin/gitolitesetup-pkYourName.pub執行至此,gitolite在服務端,搭建完畢,會發現此時HOME目錄下增加了一個文件projects.list和一個目錄repositories,後者就是我們的版本倉庫了,每當新建repo的時候,就會在其中創建。使用是時候說一下gitolite的管理模式了,他會創建一個gitolite-admin的repo,管理員就是通過像這個repo提交配置文件而實現對git伺服器的控制的。首先,將這個repo導入到我們的workspace:在此之前,需要配置本地的ssh,gitolite要求管理員的本地密鑰和其注冊公鑰的名字一致,比如安裝的時候指定-pk後面為admin.pub則管理員本地需要由admin對應的私鑰。我們可以通過~/.ssh/config來進行配置(註:有些系統可以用conf,MacOSX下無效,只能用config)..comport22identityfile~/.ssh/admin這樣,當訪問gitolite的時候就會自動根據配置文件執行,配置完成後可以根據下面的命令,將gitolite-admin轉移到本地。gitclonegitolite:gitolite-admin.git克隆完成後,可以發現,gitolite-admin下面有兩個目錄,其中conf保存配置文件,可以通過編輯裡面的gitolite.conf文件,管理git伺服器,keydir目錄保存用戶的公鑰pub文件。當講修改後的repo提交的時候,gitolite就會自動的應用這些配置,管理過程就方便了很多。配置規則打開gitolite.conf文件可以看到其中的示例:Toaddnewusersalice,bob,andcarol,'keydir'asalice.pub,bob.pub,andcarol.pubrespectively.Toaddanewrepo'foo',editthefile'conf/gitolite.conf'andaddlineslikethis:repofooRW+=aliceRW=bobR=carol上面的配置文件就是新建了一個repofoo,並且添加了三位項目成員,每一個人的許可權不同。提交push後,管理便生效了。可視化可能會需要一個web界面來管理這些項目,目前知道的有三種方式:git源碼中自帶的組件,cgi腳本實現,使用gitolite服務gitlab開源框架,基於ROR,新版本不再使用gitolite服務FB開源PHP框架phabricator,功能高端上檔次
⑩ 怎麼配置gitlab gitlab
GitLab是由Ruby語言開發的基於Linux的Git伺服器,是我見過的最強大的Git伺服器。發現它之後,立即決定將Git伺服器換成GitLab。
但安裝好GitLab之後面臨一個問題,如何將伺服器上的git項目直接導入到GitLab,之前的Git伺服器是由是git+apache搭建的(詳見在Linux上用Apache搭建Git伺服器)。
在網上發現了這篇文檔——Import bare repositories into your GitLab instance,並按之進行了操作。
1)設置存放代碼庫的主目錄
vi /etc/gitlab/gitlab.rb
比如這里設置為:git_data_dir "/gitlab/repos"
2)訪問剛搭建的GitLab站點,創建一個group,比如cnblogs。
這時會在 /gitlab/repos 下創建 /gitlab/repos/repositories/cnblogs 文件夾。
然後在/gitlab/repos/repositories/創建一個文件夾,比如cnblogs
3)將現有的所有git項目文件復制到這個文件夾
cp -r /data/git/* /gitlab/repos/repositories/cnblogs
4)修改一下復制過來的文件夾的所有者:
chown -R git:git /gitlab/repos/repositories/cnblogs
5)運行GitLab導入命令
cd /var/opt/gitlab
gitlab-rake gitlab:import:repos
等了一段時間之後,顯示done,卻一個項目也沒導入進來。
經研究發現,在導入時,GitLab只認文件夾名以.git結尾的項目。於是,將要導入的項目文件夾名稱加上.git後綴,再次進行導入。
結果顯示導入成功,比如:
Processing cnblogs/CNBlogsJob.git
* Created CNBlogsJob (cnblogs/CNBlogsJob.git)
Done!
可以是GitLab站點上卻看不到已導入的項目。多次努力,也沒能解決這個問題。
後來,實在沒辦法,改為手動導入,導入方法如下:
1)在GitLab站點上創建與要導入的項目同名的項目。
2)進入剛創建的項目文件夾
cd /gitlab/repos/repositories/cnblogs/項目名稱.git
3)刪除該文件下的所有文件
rm -rf *
4)將要導入的項目文件夾下的所有文件復制過來
cp -r /data/git/CNBlogsJob/* /gitlab/repos/repositories/cnblogs/CNBlogsJob.git
就這樣將項目一個一個地導入進來。
5)導入完成後,修改一下導入的所有項目的文件所有者
chown -R git:git /gitlab/repos/repositories/cnblogs
如果不修改所有者,客戶端無法進行git push。
就這樣手動地完成了現有Git項目的導入。
備註:操作系統是CentOS 6.2,GitLab版本是7.8.4。