介紹
前些天好不容易升級了 Gitlab,組件庫文檔也搭建好了,只差自動化部署。由於只是想給團隊內部使用,所以 gitlab 部署時並沒有使用域名,而 gitlab pages 訪問卻需要填具體域名,如果填 IP 的話是訪問不到的。下面記錄下簡單的配置過程。
安裝
安裝前先查看是否已經安裝了
gitlab-runner -v
如果還沒安裝的話,可以根據官方的方法進行安裝
# Download the binary for your system
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
# Give it permissions to execute
sudo chmod +x /usr/local/bin/gitlab-runner
# Create a GitLab CI user
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
# Install and run as service
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
配置
修改 gitlab.rb 的配置文件
vi /etc/gitlab/gitlab.rb
gitlab pages 的域名我們假設為 http://kk-gitlab.cn,你也可以根據自己的喜好來填,切記不能是 IP 地址!
修改如下
##! Define to enable GitLab Pages
pages_external_url "http://kk-gitlab.cn"
gitlab_pages['enable'] = true
保存后,執行以下命令
# 刷新配置
gitlab-ctl reconfigure
# 重啟 gitlab
gitlab-ctl restart
然后我們需要先啟動 gitlab-runner 服務
gitlab-runner start
啟動成功后我們就需要開始注冊 runner 了,具體執行命令可通過下圖步驟獲得,需要注意的是登錄的賬號必須為管理者賬號,否則看不到那個“設置”按鈕

點擊第三步,彈出提示窗,在最底下找到類似下面的語句,復制到服務器執行
sudo gitlab-runner register --url http://xx.xx.xx.xxx/ --registration-token xxxxxxxxxxxxxx
執行后需要你輸入一些信息,步驟如下
- 輸入url地址(enter 跳過)
- 輸入token(enter 跳過)
- 輸入描述,任意即可
- 輸入標簽(enter 跳過)
- 選擇Runner executor,這里選擇 shell
操作完后,刷新 Runners 頁面,就可以看到新注冊的 runner 了

點擊編輯,進入 runner 的設置,設置保存后,在頁面下面選擇要應用 runner 的項目 enable 即可

我們可以檢查下 runner 的狀態
gitlab-runner verify
此時我們重新提交代碼時,gitlab-runner 應該會自動執行部署了,部署成功如下圖


在上圖我們可以看到 gitlab-page 的訪問地址,直接訪問是不行的,因為是我們亂寫的域名,此時我們如果只在本地訪問的話,可以修改服務器和本地機器的 hosts,將 gitlab-page 的域名指向我們服務器的IP
# 服務器端 hosts 增加
127.0.0.1 gitlab-page 的地址
# 本地的 hosts 增加
服務器IP gitlab-page地址
至此,本地可以直接訪問你的 gitlab pages 了,當然這種方式不是很好的地方是每個項目都要修改一次 hosts,后面或許會通過 nginx 來做轉發,待續。。
