問題描述:
在局域網內搭了了一個gitlab,最近有需求要用CI
那時我不在 ,他們嘗試了一段時間的Jenkins,但是還沒有成功,我說gitlab已經有這些功能了,不用那個。於是一個人搞起來了。
從開始用到現在,大致用了不到一天的時間。特來記錄一下。
剛開始弄不清gitlab和Runner的區別,以為gitlab已經有這個功能了,直接修改配置文件開啟就行了。后來看文檔明白了。
GitLab Runner 需要額外安裝,可以跑在一個單獨的機子上。要求這個機器需要能夠訪問gitlab
步驟
安裝ubuntu Server
為ubuntu Server安裝Docker
將 gitlab Runner 安裝為docker 服務
docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
進入容器 docker exec -it gitlab-runner bash
修改hosts文件vim /etv/hosts
192.168.1.116 gitlab.xxxx.com //你的gitlab ip 地址和域名
注冊runner
gitlab-runner register
輸入你的注冊信息
token之類的信息在admin/runners可以看到,需要 root用戶登陸gitlab

設置成功頁面(docker 之后一路點回車,runner會被設置為共享的,每個項目都可以用)

登陸gitlab查看Runner信息

編輯runner,將runner 分配給相應的項目

進入項目在項目的根目錄中創建文件.gitlab-ci.yml,一定是根目錄,內容如下:

提交之后就會自動運行了

報了一個SDK版本錯誤,上了dockerhub一看才知道,原來棄用了,以后沒有microsoft/aspnetcore-build改為了microsoft/dotnet,變更說明
修改錯誤之后。終於成功了。

參考資料
https://docs.gitlab.com/runner/install/docker.html
https://dotnetthoughts.net/building-dotnet-with-gitlab-ci/
http://www.cnblogs.com/xishuai/p/ubuntu-install-gitlab-runner-with-docker.html
