問題描述:
在局域網內搭了了一個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