1. 程式人生 > >gitlab系列詳解

gitlab系列詳解

進行 con 文件 new 網站 簡介 static 標題 ive

虛擬機的安裝
1.安裝virtualbox
https://www.virtualbox.org/
2.安裝centos6.6
3.配置網絡
右鍵-->網絡-->網卡2-->host-only

cd /etc/sysconfig/network-scripts/
vi ifcfg-eth0
將此處改為yes ONBOOT=yes
此時可ping外網

cp ifcfg-eth0 ifcfg-eth1
加入以下內容
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.56.101
NETMASK=255.255.255.0

4.使用工具連接centos

https://winscp.net/eng/download.php
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

gitlab的簡介
1.gitlab是什麽
是一個用於倉庫管理系統的開源項目,使用Git作為代碼管理工具,並在此基礎上搭建起來的web服務。
基礎功能免費,高級功能收費
2.為什麽要使用gitlab
1.基礎功能開源,可自行搭建
2.可以進行權限控制,使得代碼對部分人可見
3.gitlab使用方便,非常適合企業內部使用

gitlab的安裝

1.linux必要配置
    在防火墻裏開放http跟ssh端口
        yum install lokkit
        yum install curl openssh-server openssh-clients postfix cronie -y
        service postfix start
        chkconfig postfix on
        lokkit -s http -s ssh
    添加gitlab倉庫,並安裝
        curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
        sudo yum install gitlab-ce
    啟動gitlab
        gitlab-ctl reconfigure
        vim /etc/gitlab/gitlab.rb 
        修改external_url為gitlab機子的ip+要使用的端口 如:http://192.168.56.101:8888
        修改nginx[‘listen_port‘] = 8888
        重新配置gitlab並重啟       
        gitlab-ctl reconfigure
        gitlab-ctl restart
    配置防火墻
        vim /etc/sysconfig/iptables
        -A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
        service iptables restart

配置gitlab郵件服務
配置郵箱服務的用途
有合並請求時,郵件通知
賬號註冊時,郵件驗證
修改密碼時,通過郵件修改
配置步驟:
1.開啟QQ郵箱的smtp服務(不建議使用163郵箱,發幾次之後,就不能發送)
設置--》賬戶--》smtp--》密保驗證--》驗證成功返回一串字符串,形狀如(ausdixersybgcgid)
保存返回的字符串
2.修改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

        user[‘git_user_email‘] = "[email protected]"
        gitlab_rails[‘gitlab_email_from‘] = ‘[email protected]‘
        按esc退出到命令行模式
        之後:wq 保存並退出

        gitlab-ctl reconfigure
    3.測試郵件服務是否正常
        gitlab-rails console
        Notify.test_email(‘接收方郵件地址‘,‘郵件標題‘,‘郵件內容‘).deliver_now
        按回車,測試發送。

gitlab的賬號註冊及分組

1.開啟註冊郵箱驗證
admin area --》setting--》Sign-up restrictions--》勾選Send confirmation email on sign-up
2.當前用戶
root、123、wiggin
3.創建組
首頁->create a group(http://192.168.56.101:8888/dashboard/groups)
訪問級別
Private:只有組成員才能看到
Internal:只要登錄的用戶就能看到
Public:所有人都能看到

Guest:可以創建issue、發表評論,不能讀寫版本庫
Reporter:可以克隆代碼,不能提交
Developer:可以克隆代碼、開發、提交、push
Master:可以創建項目、添加tag、保護分支、添加項目成員、編輯項目
Owner:可以設置項目訪問權限 - Visibility Level、刪除項目、遷移項目、管理組成員

  1. 鍵入命令:ssh-keygen -t rsa
  2. 提醒你輸入key的名稱,輸入如id_rsa
  3. 在C:\Users\用戶.ssh下產生兩個文件:id_rsa和id_rsa.pub
  4. 用記事本打開id_rsa.pub文件,復制內容,在gitlab.com的網站上到ssh密鑰管理頁面,添加新公鑰,隨便取個名字,內容粘貼剛才復制的內容。

gitlab分支及標簽的保護

為什麽要保護分支
保護特定的分支不被隨便合並,以免影響相應的分支
進入項目--> repository-->branches-->project setting
註意 能push 就能merge ,相應的權限把握好(master分支設置只能masters可以合並)

更多學習資料可查看
https://xdclass.net/html/sort.html

如需針對此內容進行深入了解可查看
Jenkins持續集成視頻教程Git

gitlab系列詳解