阿里雲 ECS服務器(CentOS 7)安裝和使用Gitlab教程

一、前言

因本人創業須要,要創建一個Gitlab代碼託管服務器方便團隊人員使用,因此把相關過程記錄下來分享給你們。搭建好的gitlab在線訪問html

二、準備工做

我使用的是阿里雲服務器ECS,系統是CentOS7.6,配置是 2核CPU 4GB內存,Gitlab官網推薦最低內存是4G。python

clipboard.png

三、開始安裝

打開gitlab中文網安裝地址,推薦Omnibus 包安裝安裝nginx

clipboard.png

3.1 安裝依賴包

yum install -y curl policycoreutils-python openssh-server
systemctl enable sshd
systemctl start sshd
firewall-cmd --permanent --add-service=http(在aliyun ECS 安全規則組裏面設置,這裏能夠不用設置)
systemctl reload firewalld(同上)

3.2 下載並執行安裝gitlab的shell文件

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

3.3 設置本身的域名而且安裝gitlab-ee

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

3.4 安裝完成

clipboard.png

執行完上面幾個步驟成功以後就能夠訪問gitlab了。git

clipboard.png

若是大家發現80端口不能訪問,就要看看是否是阿里雲服務器的安全組規則有沒有設置,若是沒有設置一下就好,下面是個人安全組規則。github

clipboard.png

3.5 免費申請阿里雲SSL證書

clipboard.png

購買成功以後,配置好域名,我這裏的域名是: gitlab.awbeci.com,設置好以後等待審覈,審覈成功以後選擇nginx版本並下載證書chrome

clipboard.png

clipboard.png

下載完成以後是個.zip的壓縮包,咱們上傳到服務器上,使用下面命令:shell

scp your-cert.zip root@your-server-ip:/your-server-directory

上傳成功以後咱們等待下一步操做。npm

3.6 配置https

打開官方文檔配置https一節,執行下面命令編輯/etc/gitlab/gitlab.rb文件:vim

vim /etc/gitlab/gitlab.rb

把http域名換成https,以下:segmentfault

external_url "https://gitlab.example.com"

編輯完成以後保存並退出,在/etc/gitlab下執行下面命令:

# 建立ssl文件夾
mkdir -p /etc/gitlab/ssl

# 設置成可讀
chmod 700 /etc/gitlab/ssl

# 把上一步的.zip證書解壓並複製到ssl文件夾下
unzip /root/your-cert-package.zip

# 解壓以後應該是兩個文件.pem和.key
# 注意:要把.pem轉換成.crt,執行下面命令進行轉換
openssl x509 -outform der -in your-cert.pem -out your-cert.crt

# 複製.crt和.key文件到ssl目錄下
cp your-cert.crt your-cert.key /etc/gitlab/ssl/

設置好以後,重啓gitlab,執行下面命令:

gitlab-ctl reconfigure

重啓以後訪問gitlab應該已是https了。

clipboard.png

3.七、配置阿里雲服務器郵件推送

第一:新建域名,我新建的是system.awbeci.com

clipboard.png

第二:DNS解析

clipboard.png

第三:解析完成以後,驗證經過。

第四:新建發信地址

clipboard.png

第五:設置SMTP密碼

clipboard.png

3.8 配置gitlab相關SMTP屬性

打開gitlab官方文檔設置SMTP一節,仍是編輯/etc/gitlab/gitlab.rb文件

clipboard.png

按照上面給出的設置設置成你本身剛纔在阿里雲郵件推送裏面的配置,設置好以後重啓gitlab:

gitlab-ctl reconfigure

刷新地址,而後咱們註冊一個用戶,看看郵箱是否發送成功,我本身用新的郵箱註冊了gitlab以後,到本身註冊的郵箱下面看看確實發送成功了。

clipboard.png

3.9 禁用GitLab CI/CD

修改/etc/gitlab/gitlab.rb文件:

gitlab_rails['gitlab_default_projects_features_builds'] = false

重啓下gitlab才能生效,以下:

gitlab-ctl reconfigure

若是你想啓用,能夠參考下面兩篇文章

  1. 開始使用GitLab CI/CD
  2. gitlab中CI/CD自動化部署使用

提醒:若是您使用的是Jenkins或Drone CI等外部CI / CD服務器,建議您禁用GitLab CI / CD,以避免與提交狀態API發生衝突。

四、使用搭建好的gitlab

4.1 本地生成ssh密鑰

執行下面命令生成,以下:

ssh-keygen -t rsa -C 'your-register-gitlab-email'

clipboard.png

執行完成以後會出現兩個文件:id_rsa_awbeci和id_rsa_awbeci.pub

clipboard.png

4.2 配置gitlab公鑰

clipboard.png
把你生成好的id_rsa_awbeci.pub文件內容複製到上面並點擊添加。

4.3 測試是否添加正確

由於我是多git用戶,我使用瞭如github,gitee等等託管服務器,因此我要配置下.ssh文件夾下的config文件vim /Users/zhangwei/.ssh/config,若是大家不是多用戶這步可省略。

# gitlab.awbeci.com
Host gitlab-awbeci
HostName gitlab.awbeci.com
User your-name
IdentityFile /Users/zhangwei/.ssh/id_rsa_awbeci

配置好以後,執行下面命令:

ssh-add id_rsa_awbeci

注意:若是是Mac用戶記得用ssh-add -K id_rsa_awbeci
若是是Windows用戶若是執行報錯,試試用ssh-agent bash

接着測試試試:

☁  .ssh  ssh -T git@gitlab.awbeci.com
Welcome to GitLab, @zhangwei!
☁  .ssh

到此咱們安裝和配置gitlab ssh都成功完成,後面就是建立項目,添加代碼了,這個就不作詳細說明了,不明白的能夠到網上百度看看若是使用git文章。

五、總結:

1)像我配置https和smtp都是參考官網的文檔的,因此若是有問題及時到官網找找看
2)我在成功安裝好以後瀏覽gitlab.awbeci.com的時候不是跳轉到登陸頁面而是到設置密碼頁面,刷新也不行,到如今都不知道怎麼回事,是由於chrome的緣由嗎,我用firefox沒這個問題
3)若是大家有什麼問題,能夠加我QQ羣:464696550

六、參考

  1. GitLab Installation
  2. 配置Https
  3. 配置SMTP
  4. 官方安裝文檔
  5. CentOS 7 下 GitLab安裝部署教程
  6. 如何將.pem轉換爲.crt和.key?
  7. 阿里雲GitLab的安裝及使用
  8. How to enable or disable GitLab CI/CD
  9. Generating a new SSH key and adding it to the ssh-agent
  10. 是否必須每次添加ssh-add
相關文章
相關標籤/搜索