1.gitlab的概述 1.gitlab是什麼 是一個用於倉庫管理系統的開源項目,使用Git作為代碼管理工具,併在此基礎上搭建起來的web服務。 基礎功能免費,高級功能收費 2.為什麼要使用gitlab 1.基礎功能開源,可自行搭建 2.可以進行許可權控制,使得代碼對部分人可見 3.gitlab使用方 ...
1.gitlab的概述
1.gitlab是什麼
是一個用於倉庫管理系統的開源項目,使用Git作為代碼管理工具,併在此基礎上搭建起來的web服務。
基礎功能免費,高級功能收費
2.為什麼要使用gitlab
1.基礎功能開源,可自行搭建
2.可以進行許可權控制,使得代碼對部分人可見
3.gitlab使用方便,非常適合企業內部使用
2.gitlab的安裝
1. 在防火牆裡開放http跟ssh埠
yum install lokkit
yum install curl openssh-server openssh-clients postfix cronie -y (如果報ibmysqlclient.so.18,可以使用 wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm和rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm 來解決)
service postfix start
chkconfig postfix on
lokkit -s http -s ssh(如果出現防火牆問題.可以嘗試將防火牆關閉試試).
2. 添加gitlab倉庫,並安裝
curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash(如果報錯,不需要管,下一步就好)
sudo yum install gitlab-ce
3. 啟動gitlab
gitlab-ctl reconfigure
vim /etc/gitlab/gitlab.rb
修改external_url為gitlab機子的ip+要使用的埠 如:http://192.168.56.101:8888
修改nginx['listen_port'] = 8888 (使用/listen_port來尋找該配置)
重新配置gitlab並重啟
gitlab-ctl reconfigure
gitlab-ctl restart
4. 配置防火牆
第一種配置方式:
vim /etc/sysconfig/iptables
-A INPUT -m state --tate NEW -m tcp -p tcp --dport 8888 -j ACCEPT
service iptables restart
第二種配置方式(防火牆打開):
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload
5. 推送項目(gitlab上創建的項目會有提示)
6. 登錄的時候註意預設的賬戶是root
3.gitlab配置郵箱服務
1. 配置郵箱服務的用途
* 有合併請求時,郵件通知
* 賬號註冊時,郵件驗證
* 修改密碼時,通過郵件修改
2. 配置步驟
1. 開啟郵箱的smtp服務(推薦qq郵箱)(id為 anoxkzozvvcsdjfa)
2. 修改gitlab配置(看下麵的3和4)
3. 測試郵件服務是否正常(看下麵的5)
3. gitlab配置存在的位置: /etc/gitlab/gitlab.rb
1. 修改gitlab如下:
vim /etc/gitlab/gitlab.rb
按/後輸入smtp_enable,找到下麵這一串文本,進行修改
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "開通smtp時返回的字元"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
2. 修改user['git_user_email'] = "[email protected]"
3. 修改gitlab_rails['gitlab_email_from'] = '[email protected]'
4. 修改完成之後:gitlab-ctl reconfigure 重啟一下
5. 測試郵件服務是否正常:
1. gitlab-rails console 進入控制台
2. Notify.test_email('收件者郵箱','標題','正文').deliver_now 回車就可以發送了.
4.gitlab的賬號註冊及分組
1. 賬號註冊郵箱驗證功能(admin area --》setting--》Sign-up restrictions--》勾選Send confirmation email on sign-up):
在gitlab界面中的setting中將Sign-up restrictions改為collapse,將Send confirmation email on sign-up選中就可以進行賬號註冊郵箱驗證了,前提是郵箱服務必須打開。
2. 創建組
在Groups選項中,選擇創建組(http://192.168.29.24:8888/groups/new)。
訪問級別:
Private:只有組成員才能看到
Internal:只要登錄的用戶就能看到
Public:所有人都能看到
3. 邀請組員:
在創建好的分組上面點擊Members,然後就可以邀請組員了。
組員的許可權:
Guest:可以創建issue、發表評論,不能讀寫版本庫
Reporter:可以克隆代碼,不能提交
Developer:可以克隆代碼、開發、提交、push
Master:可以創建項目、添加tag、保護分支、添加項目成員、編輯項目
Owner:可以設置項目訪問許可權 - Visibility Level、刪除項目、遷移項目、管理組成員
4. 組員邀請成功之後,就可以創建項目了,在overriew中選擇details,創建項目
5. 使用ssh進行管理(使用管理員身份打開git bash):
1. 鍵入命令:ssh-keygen -t rsa
2. 提醒你輸入key的名稱,輸入如id_rsa
3. 在C:\Users\Administrator\.ssh下產生兩個文件:id_rsa(私鑰)和id_rsa.pub(公鑰)
4. 用記事本打開id_rsa.pub文件,複製內容,在gitlab.com的網站上到ssh密鑰管理頁面,添加新公鑰,隨便取個名字,內容粘貼剛纔複製的內容。
6. 創建文件夾進行測試
1. 在文件夾下麵右鍵,點擊git bash
2. 使用git init初始化倉庫
3. 使用git fetch 項目的ssh路徑
4. 創建文件echo "111" > file1
5. git add *
6. git commit -m "add file1"
7. git remote add origin [email protected]:test1/group-test.git (這個東西是在創建的項目中的Existing folder)
8. git push -u origin master
5. gitlab分支及標簽保護
1. 為什麼要保護分支
保護特定的分支不被隨便合併,以免影響相應的分支
2. 進入項目--> repository-->branches-->project setting
3. 註意 能push 就能merge ,相應的許可權把握好(master分支設置只能masters可以合併)