安裝docker
下載地址:
https://docs.docker.com/docker-for-mac/install/
下載下來是一個dmg的安裝包,直接安裝就可以了
網(wǎng)絡問題
嗯,在國內(nèi)做開發(fā)必須談網(wǎng)絡問題,安裝好docker之后,建議使用國內(nèi)的docker鏡像源,我用的是aliyun的。
安裝portainer
portainer是一個Docker的可視化的管理工具。
使用下面的命名安裝portainer:
docker run -d -v "/var/run/docker.sock:/var/run/docker.sock" -p 9000:9000 portainer/portainer
上面的命令執(zhí)行完成之后,打開瀏覽器訪問:
http://localhost:9000
一開始會讓你設置管理員密碼,設置完成之后,進入系統(tǒng),界面應該是下面這個樣式的

在portainer可以很方便的管理你的Docker。推薦安裝
安裝gitlab-ce
使用下面的命令安裝gitlab-ce
sudo docker run --detach \
--hostname mygitlab.com \
--publish 443:443 --publish 8092: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
上面的參數(shù)說明:
On macOS, use /Users/Shared instead of /srv
hostname:按照自己的需要改
volume:的冒號前面為物理機器上的實際目錄,需提前建好,然后改為正確路徑。冒號后面為掛載點,不要改
publish的三個端口映射自己看情況來,一般自己網(wǎng)內(nèi)使用,光一個80就好了,443和22都需要額外配置數(shù)字證書什么的
安裝完成之后,可以在portainer中的【containers】中查看所有的容器狀態(tài)。

如果gitlab的狀態(tài)是created的話,那么你可以選中,點擊【start】啟動,啟動成功之后應該是上圖的狀態(tài)。
然后打開瀏覽器訪問:
http://localhost:8092
或者
http://mygitlab.com:8092
注意:
如果80端口未被占用,可以選擇80端口也ok,因我自己電腦80端口占用,所以選擇了8092
默認的root登錄密碼在配置文件目錄的文件中

到這里,在macos中搭建gitlab系統(tǒng)就算完成了
gitlab配置ci/cd
安裝gitlab-runner
官方文檔地址: https://docs.gitlab.com/runner/install/
注意,這里我們選擇install as a Docker service。
- 首先使用下面的命令來安裝gitlab-runner
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
參數(shù)說明:
On macOS, use /Users/Shared instead of /srv
如果你是用的是docker來運行gitlab和gitlab-runner的話,注意上面的–link參數(shù),這里必須加上–link gitlab
其中gitlab是之前我們運行gitlab的時候指定的容器名稱。這樣之后,等于是讓gitlab-runner連接上了gitlab這個容器,這樣在gitlab-runner容器中就可以訪問到gitlab這個容器了。更多內(nèi)容,請自行查看docker文檔。
安裝完成之后,在portainer中就可以看到這個容器了。

配置gitlab-runner
如果要使gitlab-runner工作的話
需要讓gitlab-runner知道你的gitlab安裝在哪個地址,以及注冊用的token。
使用下面的步驟來在gitlab中注冊runner
# Download the binary for your system
sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64
# Give it permission to execute
sudo chmod +x /usr/local/bin/gitlab-runner
# The rest of the commands execute as the user who will run the runner
# Register the runner (steps below), then run
cd ~
gitlab-runner install
gitlab-runner start
注冊runner的命令
gitlab-runner register --url http://mytengitlab.com/ --registration-token $REGISTRATION_TOKEN
執(zhí)行以上命令會出現(xiàn)一下界面:

1. 選擇executor,這里列出了很多executor,具體區(qū)別可以看這里:https://docs.gitlab.com/runner/executors/README.html
2、url和token來源:

在項目中啟用runner
使用管理員賬戶登錄gitlab,訪問 http://mytengitlab.com:8092/admin/runners 這個地址,
在頁面的底部可以看到已經(jīng)注冊成功的runner

在這里可以點擊runner進入配置,可以給runner指派項目。指派的項目就可以使用該runner了
在項目中添加.gitlab-ci.yml
在gitlab中創(chuàng)建一個測試項目,然后添加.gitlab-ci文件
模板具體可以參考:https://gitlab.com/gitlab-org/gitlab-foss/tree/master/lib/gitlab/ci/templates
還可以設置tags,only等參數(shù),具體可以參考: https://docs.gitlab.com/ee/ci/yaml/#shallow-cloning
提交之后,就會在Pipelines中看到正在執(zhí)行job。
