close

現場(環境):CentOS 7.4          套件:GitLab

 


原因:

團隊成員也已經習慣 git 的使用方法,

但很多時候,主管會不放心將專案放在外部網站上。

這時候就要建立自己專用的Gitlab平台。

 


處理方式:

大部份網路資料說的處理方式都是照原廠官方文件最好。

先安裝GitLab會需要使用到的套件。

#yum install curl policycoreutils openssh-server openssh-clients -y

 

其實只要更新過。上面的套件都會預設安裝在CentOS Server裏面。

 

啟動sshd服務

#systemctl start sshd

#systemctl enable sshd

 


接著因為git都會透過郵件做登入驗證,所以要安裝postfix

#yum install postfix

 

預設也是已經裝好,只要啟用就可以。

#systemctl start postfix

#systemctl enable postfix

 

接著防火牆部份要開啟httpd連線。

#firewall-cmd –permanent –add-service=http

#systemctl reload firewalld

 


添加gitlab mirror source

#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

 


安裝GitLab Package

這邊的 EXTERNAL_URL 就是定義你之後要連接上的網址名稱。

所以這邊安裝要先處理好。不然你安裝下去會有很多麻煩。

#EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee

 

安裝完成會出現GitLab的標誌。並且跟你說要怎麼運行

 

如果發現網址名稱設定錯誤。想要修改

找到下方設定檔。

# vim /etc/gitlab/gitlab.rb

這再邊更改就好

 

確認都沒有問題後。啟動GitLab

#gitlab-ctl reconfigure

 

看到下面畫面表示運作完成。

 


接著就在瀏覽器輸入網址

http://[網址or IP Address]

登入後先設定密碼,預設帳號為root

 

 

 

輸入帳號root 以及剛剛建立的密碼。

 

再來就可以正確的登入GitLab平台

 

如果後面要重啟服務 or 關閉服務。可以用下面的指令。

# gitlab-ctl restart

# gitlab-ctl stop 0

 

到這邊為止可以給管理者自己使用。

但是如果要讓其他使用者可以註冊使用的話,建議加上郵件寄送的功能。

這邊我們要先進行一些設定。才能夠發送驗證信件。

 


設定smtp服務。

#vim /etc/gitlab/gitlab.rb

 

設定完成後。要重新reconfigure這樣才能讓設定檔被吃進去

先啟用E-mail功能

gitlab_email_enabled = true  //啟動Email功能

gitlab_email_from = xxx@xxx.com // 由誰寄件

gitlab_email_display_name = XXX  //寄件人顯示的名稱

gitlab_email_reply_to =  noreply@xxx.com   //回覆的信箱

 

例如這邊想要用gmail 寄件。這邊就先把gmail的相關資訊輸入上去。

gitlab_email_from = [寄件者]@gmail.com

gitlab_email_display_name = [顯示名稱]

 

設定寄件的smtp

這邊一樣先把註解打開,如果是要用google寄信。這邊要另外改smtpPort

相關設定可以詳件參考網址(https://dotblogs.com.tw/echo/2017/10/27/gitlab_smtp_setting)

smtp_enable:啟用 SMTP 功能。

smtp_address:這邊輸入Smtp ServerDomain

smtp_portSMTP Port (Google587)

smtp_user_name:輸入信箱帳號(XXX@gmail.com)

smtp_password:輸入信箱密碼。

smtp_domain:輸入Smtp ServerDomain

smtp_authenticationSMTP 驗證模式。(用預設的login)

smtp_enable_starttls_autoSMTP 開啟 TLS 設定。

smtp_tls:使用 TLS 設定。

smtp_openssl_verify_modeSMTP SSL 驗證模式。

 

=!====

 gitlab_rails['smtp_enable'] = true

 gitlab_rails['smtp_address'] = "smtp.gmail.com"

 gitlab_rails['smtp_port'] = 587

 gitlab_rails['smtp_user_name'] = "帳號@gmail.com"

 gitlab_rails['smtp_password'] = "gmail應用程式專用密碼"

 gitlab_rails['smtp_domain'] = "smtp.gmail.com"

 gitlab_rails['smtp_authentication'] = "login"

 gitlab_rails['smtp_enable_starttls_auto'] = true

 gitlab_rails['smtp_tls'] = false

====!=

這邊google驗證如果有問題,參考之前的用Linux發送gmail信件文章。

接著重新載入設定檔。

# gitlab-ctl reconfigure

*有時候不知道為什麼運作完第一次都會卡住。要強制中斷後再執行一次才正常

 

這邊可以用gitlab測試寄信是不是正常。(詳情件參考網址)

#gitlab-rails console

 

>Notify.test_email('收件者信箱', '標題', '內文').deliver_now

成功發出會出現下面訊息

 

接著可以到收件者那邊查看

 

確定有收到。接著就可以開始使用者的帳號創建。

使用者要用的話。要先註冊帳號

 

輸入完資料後。就可以登入GitLab環境了。

 

之後就可以開始運用gitlab環境了。

 

<本篇完>

 

參考網址:

https://www.gitlab.com.cn/installation/

https://www.gitlab.com.cn/installation/#centos-7

https://dotblogs.com.tw/echo/2017/10/27/gitlab_smtp_setting

https://git-scm.com/book/en/v2/Git-on-the-Server-GitLab

https://cloud.tencent.com/developer/article/1007284

http://yccitman.blogspot.tw/2016/03/centos-7-gitlab.html

https://blog.csdn.net/wh211212/article/details/70224398

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 IT001 的頭像
    IT001

    IT001

    IT001 發表在 痞客邦 留言(0) 人氣()