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 的工具运行脚本。
- 脚本被分组为作业,它们共同组成了一个管道。