一、準備工作
二、環境配置
三、提交更新並自動部署到伺服器,測試地址:http://182.61.57.121:8000
一、準備工作
gitlab環境(為了方便,使用官方的託管倉庫)
裝有docker
和gitlab-runner
環境的雲端服務器(這裡用到CentOS 7 64位
)
項目代碼,這裡我使用Golang作為開發語言,其它開發語言也一樣的操作流程
代碼.png
Dockerfile
檔案
FROM golang:latestMAINTAINER Razil "412657308@qq.com"WORKDIR $GOPATH/src/kun.com/cicd-demoCOPY . $GOPATH/src/kun.com/cicd-demoRUN go build .EXPOSE 8000ENTRYPOINT ["./cicd-demo"]
gitlab-ci.yml
檔案,文法查看
stages: - deploydocker-deploy: stage: deploy # 執行Job內容 script: # 通過Dockerfile產生cicd-demo鏡像 - docker build -t cicd-demo . # 刪除已經在啟動並執行容器 - if [ $(docker ps -aq --filter name= cicd-demo) ]; then docker rm -f cicd-demo;fi # 通過鏡像啟動容器,並把本機8000連接埠映射到容器8000連接埠 - docker run -d -p 8000:8000 --name cicd-demo cicd-demo tags: # 執行Job的伺服器 - kun only: # 只有在master分支才會執行 - master
二、環境配置
1. 為項目註冊執行部署任務的Runner伺服器
因為我已經配置過了,所以下面面有runner,runner的標籤是多runner執行任務時區分的標識,後面部署過程我會使用標籤為kun
而不是test
伺服器來執行job,下面會配置過程。
1.gitlab設定runner.jpg
2.雲端服務器註冊runner
2.伺服器配置.png
三、提交更新並自動部署到伺服器
runner註冊成功後,通過git命令提交更新到master分支,只要master分支有修改,都會執行Job的任務。
3.1.提交代碼到git master分支.png
3.2.等待Job任務完成.png4.查看job執行任務過程.png
此時,通過連結http://182.61.57.121:8000可以訪問到伺服器已經部署代碼並且可以正常訪問了。
4.測試結果.png
擴充:通過踐行GitFlow工作流程常用操作流程,可以有一套方便且高效的系統持續整合方案。