GitLab+Docker快速搭建CI/CD自動化部署

來源:互聯網
上載者:User

一、準備工作
二、環境配置
三、提交更新並自動部署到伺服器,測試地址:http://182.61.57.121:8000

一、準備工作

  1. gitlab環境(為了方便,使用官方的託管倉庫)

  2. 裝有dockergitlab-runner環境的雲端服務器(這裡用到CentOS 7 64位

  3. 項目代碼,這裡我使用Golang作為開發語言,其它開發語言也一樣的操作流程

    代碼.png

  4. 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"]
  1. 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工作流程常用操作流程,可以有一套方便且高效的系統持續整合方案。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.