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 的执行情况

原文地址:https://www.cnblogs.com/eoalfj/p/12801997.html