如何在mac上安裝gitlab


安裝docker

下載地址:
https://docs.docker.com/docker-for-mac/install/

下載下來是一個dmg的安裝包,直接安裝就可以了。

網絡問題

嗯,在國內做開發必須談網絡問題,安裝好docker之后,建議使用國內的docker鏡像源,我用的是aliyun的。

  • 首先你得有aliyun的賬號:
  • 然后進去到https://dev.aliyun.com/search.html頁面
  • 如果你登錄了,進入到上面的頁面,點擊上面頁面的【管理中心】
  • 然后點擊【鏡像加速器】就可以按照提示配置了

安裝portainer

portainer是一個Docker的可視化的管理工具。
使用下面的命名安裝portainer:

1
docker run -d -v "/var/run/docker.sock:/var/run/docker.sock" -p 9000:9000 portainer/portainer

 

上面的命令執行完成之后,打開瀏覽器訪問:

localhost:9000

一開始會讓你設置管理員密碼,設置完成之后,進入系統,界面應該是下面這個樣式的:

在portainer可以很方便的管理你的Docker。推薦安裝。

安裝gitlab-ce

使用下面的命令安裝gitlab-ce

1
2
3
4
5
6
7
8
9
sudo docker run --detach \
--hostname mygitlab.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest

上面的參數說明:

hostname按照自己的需要改

volume的冒號前面為物理機器上的實際目錄,需提前建好,然后改為正確路徑。冒號后面為掛載點,不要改

publish的三個端口映射自己看情況來,一般自己網內使用,光一個80就好了,443和22都需要額外配置數字證書什么的

安裝完成之后,可以在portainer中的【containers】中查看所有的容器狀態。

如果gitlab的狀態是created的話,那么你可以選中,點擊【start】啟動,啟動成功之后應該是上圖的狀態。

然后打開瀏覽器訪問:

localhost:80
或者
mygitlab.com:80

這個時候會要求你修改root賬戶的密碼,輸入2次密碼確定就可以了。注意這個root賬戶是gitlab的賬戶不是你mac系統的root賬戶,不要搞錯了。

到這里,在macos中搭建gitlab系統就算完成了。

 

 

下一篇講如何在gitlab中配置ci/cd。

gitlab配置ci/cd

安裝gitlab-runner

官方文檔地址: https://docs.gitlab.com/runner/install/

注意,這里我們選擇install as a Docker service。

  1. 首先使用下面的命令來安裝gitlab-runner
1
2
3
4
5
docker run -d --name gitlab-runner --restart always \
--link gitlab \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest

如果你是用的是docker來運行gitlab和gitlab-runner的話,注意上面的–link參數,這里必須加上–link gitlab,其中gitlab是之前我們運行gitlab的時候指定的容器名稱。這樣之后,等於是讓gitlab-runner連接上了gitlab這個容器,這樣在gitlab-runner容器中就可以訪問到gitlab這個容器了。更多內容,請自行查看docker文檔。

安裝完成之后,在portainer中就可以看到這個容器了。

配置gitlab-runner

如果要使gitlab-runner工作的話,需要讓gitlab
-runner知道你的gitlab安裝在哪個地址,以及注冊用的token。

使用下面的步驟來在gitlab中注冊runner。

  1. 運行下面的命令

    1
    docker exec -it gitlab-runner gitlab-runner register
  2. 輸入gitlab的url地址
    Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):

    1
    http://gitlab

注意這里的url地址,是http://容器的名稱。

  1. 輸入token
    Please enter the gitlab-ci token for this runner:
    后面的步驟根據提示輸入即可。

token查看地址: http://localhost:81/admin/runners

  1. 接下來的2步輸入描述,輸入標簽,自己輸入即可。

  2. 是否運行在沒有tag的build上面。在配置gitlab-ci的時候,會有很多job,每個job可以通過tags屬性來選擇runner。這里為true表示如果job沒有配置tags,也執行。
    Whether to run untagged builds [true/false]:

    1
    true
  3. 是否鎖定runner到當前項目。
    Whether to lock the Runner to current project [true/false]:

1
true
  1. 選擇executor,這里列出了很多executor,具體區別可以看這里:https://docs.gitlab.com/runner/executors/README.html

Please enter the executor: parallels, ssh, virtualbox, docker-ssh+machine, kubernetes, docker, docker-ssh, shell, docker+machine:

1
docker

 

  1. 執行的默認docker image,上面一步選擇了docker,所有這里是docker的配置。
    Please enter the default Docker image (e.g. ruby:2.1):
    1
    alpine:latest

這里設置的是alpine,這是一個基於Alpine Linux的最小的Docker鏡像。

在項目中啟用runner

使用管理員賬戶登錄gitlab,訪問 http://mygitlab.com:81/admin/runners 這個地址,
在頁面的底部可以看到已經注冊成功的runner。
在這里可以點擊runner進入配置,可以給runner指派項目。指派的項目就可以使用該runner了。

在項目中添加.gitlab-ci.yml

在gitlab中創建一個測試項目,然后添加.gitlab-ci文件
添加以下內容:

1
2
3
test:
script:
- ls

 

上面test表示一個job的名稱,script是這個job要執行的命令。
還可以設置tags,only等參數,具體可以參考: https://docs.gitlab.com/ee/ci/yaml/#shallow-cloning

提交之后,就會在Pipelines中看到正在執行job。

問題記錄

fatal: unable to access
http://gitlab-ci-token:xxxxxxxxxxxxxxx@mygitlab.com/zhongzhong/cicd-test.git/
failed to connect to mygitlab port 80 : connetion refused

解決:出現這個問題的原因好像是gitlab-runner在拉取代碼的時候,沒有解析到
mygitlab.com,查看gitlab-runner的host文件,里面有mygitlab的映射。暫時通過將gitlab中的extenar_url修改為gitlab容器在docker中的ip地址。

1
docker exec -it gitlab vi /etc/gitlab/gitlab.rb
1
external_url 'http://172.17.0.3'

這樣之后,就不會在出現上面的錯誤了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM