CICD 自动化

177 阅读2分钟

CICD

持续集成(Continuous Integration,CI)是开发人员频繁地将他们的代码合并到共享代码库中,并通过自动化的构建和测试过程进行验证。 持续交付/部署(Continuous Delivery/Deployment,CD)是在通过持续集成验证后,自动将代码交付给生产环境,确保快速、可靠地交付软件。

什么是 GitLab Runner

  • 是一个处理构建的应用程序。
  • 它可以单独部署,并通过 API 与 GitLab CI / CD 一起使用。
  • GitLab Runner 是一个与 GitLab CI/CD 配合使用以在管道中运行作业的应用程序。

gitlab-cli.yml

.cicd 文件夹 下边的内容是文件名 mdl.yml
.build:
  stage: build
  script:
    - if [[ $CI_COMMIT_REF_NAME =~ ^"${USER}1" ]]; then
    -   sh ci.sh $BASE_URL/1
    -   if [ $? -ne 0 ]; then
    -     exit 2
    -   fi
    - elif [[ $CI_COMMIT_REF_NAME =~ ^"${USER}2" ]]; then
    -   sh ci.sh $BASE_URL/2
    -   if [ $? -ne 0 ]; then
    -     exit 3
    -   fi
    - elif [[ $CI_COMMIT_REF_NAME =~ ^"${USER}3" ]]; then
    -   sh ci.sh $BASE_URL/3
    -   if [ $? -ne 0 ]; then
    -     exit 4
    -   fi
    - fi
include:
  - local: '.cicd/install.yml'
  - local: '.cicd/build.yml'
  - local: '.cicd/common.yml'
  - local: '.cicd/notify.yml'
  - local: '.cicd/mdl.yml'

variables:
  BASE_URL: '/home/gitlab-runner/web/html'

# 缓存
cache:
  paths:
    - node_modules
  policy: pull

# 定义阶段
stages:
  - install
    // node -v
    // npm -v
    // npm ci -d
  - build
  - notify
    // 基本上就是发送通知一些基本的信息 比如说分支名称,提交的commit 信息 提交的
  • gitlab-cli.yml 是 GitLab 命令行工具(CLI)的配置文件。 用于配置 GitLab CLI 的行为和参数,包括连接信息、认证方式、默认项目等设置。通过编辑 gitlab-cli.yml 文件,可以根据需求进行个性化配置,提高使用 GitLab CLI 的效率和方便性。

GitLab CI/CD 下载安装

下载适合您系统的二进制文件

sudo curl -L --output /usr/local/bin/gitlab-runner gitlab-runner-downloads.s3.amazonaws.com/latest/bina…

赋予其执行权限

sudo chmod +x /usr/local/bin/gitlab-runner

创建 GitLab Runner 用户

sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

安装并作为服务运行

sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner 须藤 gitlab-runner 启动

GitLab CI/CD 工作原理

  • 将代码托管到 Git 存储库。
  • 在项目根目录创建 ci 文件.gitlab-ci.yml ,在文件中指定构建,测试和部署脚本。
  • GitLab 将检测到它并使用名为 GitLab Runner 的工具运行脚本。
  • 脚本被分组为作业,它们共同组成了一个管道。