如何在mac上安裝gitlab

安裝docker

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

下載下來是一個dmg的安裝包,直接安裝就能夠了。html

網絡問題

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

  • 首先你得有aliyun的帳號:
  • 而後進去到https://dev.aliyun.com/search.html頁面
  • 若是你登陸了,進入到上面的頁面,點擊上面頁面的【管理中心】
  • 而後點擊【鏡像加速器】就能夠按照提示配置了

安裝portainer

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

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

 

上面的命令執行完成以後,打開瀏覽器訪問:shell

localhost:9000macos

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

在portainer能夠很方便的管理你的Docker。推薦安裝。ruby

安裝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

上面的參數說明:ssh

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'

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

相關文章
相關標籤/搜索