GitLab CI/CD 配置


GitLab CI/CD 配置

概念

持續集成的相關概念,可以看這篇文章 持續集成是什么? - 阮一峰的網絡日志

操作示例

創建測試項目 sample-web,然后打開項目的 Runners 配置

找到這個地方,后邊要用

然后搭建 gitlab-runner,CI/CD 需要通過它實現

# 創建 gitlab-runner 目錄
mkdir -p /usr/local/gitlab-runner && cd /usr/local/gitlab-runner

# 映射目錄
mkdir -p /usr/local/gitlab-runner/config

# 啟動
docker run -d --name gitlab-runner --restart always \
  -v /usr/local/gitlab-runner/config:/etc/gitlab-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:v12.10.0

注冊 runner

docker exec -it gitlab-runner gitlab-ci-multi-runner register

根據提示逐步輸入信息

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://192.168.10.227/       # 這是上邊 GitLab Runners 里的地址
Please enter the gitlab-ci token for this runner:
be1FkhGu1nN3dsoa5Wnv         # 這是上邊 GitLab Runners 里的Token
Please enter the gitlab-ci description for this runner:
[32e99182c32c]: helloworld   # 描述,自由發揮
Please enter the gitlab-ci tags for this runner (comma separated):
java8                        # tags,相當於這個環境的名字,后邊用的到
Registering runner... succeeded                     runner=be1FkhGu
Please enter the executor: docker, docker-ssh, ssh, docker+machine, docker-ssh+machine, custom, parallels, shell, virtualbox, kubernetes:
docker                       # 執行方式,我用的 docker
Please enter the default Docker image (e.g. ruby:2.6):
maven:3-jdk-8                # docker 鏡像,這是個 java 項目,我用的 maven:3-jdk-8,根據自己需要填寫
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

提示成功,可以在 GitLab Runners 里看到我們剛剛注冊的 runner

在項目中添加 .gitlab-ci.yml 文件
文件描述了有哪些步驟,每步的名稱,執行了什么命令,使用哪個分支,使用哪個 runner 等信息

stages:
  - build
  - test
  - deploy

job_build:
  stage: build
  script:
    - mvn clean install -s settings.xml
  only:
    - master
  tags:
    - java8

job_test:
  stage: test
  script:
    - mvn test -s settings.xml
  tags:
    - java8

job_deploy:
  stage: deploy
  script:
    - echo "deploy over..."
  tags:
    - java8

提交代碼,可以看到 CI/CD 的執行情況


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM