gitlab + gitlab-runner 整合 CICD
阿新 • • 發佈:2020-08-10
gitlab + gitlab-runner 整合 CICD
1 gitlab-runner 安裝
- 1.1 下載執行檔案
- # Linux x86-64
- sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
- # Linux x86
-
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386
- # Linux arm
- sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm
- 1.2 設定執行許可權
sudo chmod +x /usr/local/bin/gitlab-runner
- 1.3 建立 GitLab CI 使用者
useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
- 1.4 執行服務
- gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
- gitlab-runner start
2 gitlab-runner 註冊
2.1 獲取 Gitlab註冊令牌
開啟 gitlab 專案 -> 設定 -> CI / CD -> Runners 設定
2.2 LINUX 註冊
- 執行註冊
sudo gitlab-runner register
- 輸入你的 GitLab URL
- Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
- https://xxx.xxx
- 輸入
註冊令牌
來註冊 Runner
- Please enter the gitlab-ci token for this runner
- xxx
- 輸入 Runner 說明
- Please enter the gitlab-ci description for this runner
- [hostame] my-runner
- 輸入 Runner 的 tags
- Please enter the gitlab-ci tags for this runner (comma separated):
- my-tag,another-tag
- 輸入 Runner 執行方式
- Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
- shell
- 如果是在 Docker 中執行, you'll be asked for the default image to be used for projects that do not define one in .gitlab-ci.yml:
- Please enter the Docker image (eg. ruby:2.1):
- alpine:latest
3 連結成功
3.1 runner 列表
3.2 runner 修改
4 編寫.gitlab-ci.yml
整合
- image: java:8
- stages:
- - build
- - build-pro
- #測試環境
- build:
- stage: build
- script:
- - pwd
- - cd project/my_app
- - /usr/local/maven/bin/mvn clean package -P test
- - sh /usr/local/project_deploy_script/app/app_test.sh
- tags:
- - deploy-app
- only:
- - develop
- #正式環境
- stage: build-pro
- script:
- - pwd
- - cd project/my_app
- - /usr/local/maven/bin/mvn clean package -P pro
- - sh /usr/local/project_deploy_script/app/app.sh
- tags:
- - deploy-app
- only:
- - master
5 執行整合
- 下次提交程式碼就會走整合任務了
- 任務階段
- 詳情