gitlab CI/CD自动化部署脚本编写

ci/cd关键字

GitLab CI/CD 管道配置包括:

  • 配置管道行为的全局关键字(详解以及实例见下):
关键词描述
default作业关键字的自定义默认值。
include从其他 YAML 文件导入配置。
stages管道阶段的名称和顺序。
variables为管道中的所有作业定义 CI/CD 变量。
workflow控制运行的管道类型。
  • 配置job的关键词
关键词描述
after_script覆盖在作业后执行的一组命令。
allow_failure允许作业失败。失败的作业不会导致管道失败。
artifacts成功时要附加到作业的文件和目录的列表。
before_script覆盖在作业之前执行的一组命令。
cache应在后续运行之间缓存的文件列表。
coverage给定作业的代码覆盖率设置。
dast_configuration在作业级别上使用 DAST 配置文件中的配置。
dependencies通过提供要从中获取项目的作业列表,限制将哪些项目传递到特定作业。
environment作业部署到的环境的名称。
except控制何时不创建作业。
extends此作业从中继承的配置条目。
image使用 Docker 映像。
inherit选择所有作业继承的全局默认值。
interruptible定义当较新的运行冗余时,是否可以取消作业。
needs在阶段排序之前执行作业。
only控制何时创建作业。
pages上传作业的结果以用于 GitLab 页面。
parallel应并行运行作业的实例数。
release指示运行程序生成发布对象。
resource_group限制作业并发。
retry在发生故障时,作业可以自动重试的时间和次数。
rules用于评估和确定作业的选定属性以及是否创建作业的条件列表。
script由运行器执行的 Shell 脚本。
secrets作业所需的 CI/CD 机密。
services使用泊坞窗服务映像。
stage定义作业阶段。
tags用于选择运行器的标记列表。
timeout定义优先于项目范围的设置的自定义作业级别超时。
trigger定义下游管道触发器。
variables在作业级别定义作业变量。
when何时运行作业。

关键字详解

  1. 全局关键词
    default
    可能的子项输入:
  • after_script
  • artifacts
  • before_script
  • cache
  • image
  • interruptible
  • retry
  • services
  • tags
  • timeout
    含义:为某些关键字设置全局默认值
    示例:
default:
  image: ruby:3.0

rspec:
  script: bundle exec rspec

rspec 2.7:
  image: ruby:2.7
  script: bundle exec rspec
  

include

含义:自定义.gitlab-ci.yml路径使多个.gitlab-ci.yml配置文件合并
可能的子项输入:

  • include:local
  • include:file
  • include:remote
  • include:template
    示例:
include:
  - local: '/templates/.gitlab-ci-template.yml'

stages
含义:用于定义包含作业组的阶段
可能的子项输入:

  • .pre
  • build
  • test
  • deploy
  • .post

示例:

stages:
  - build
  - test
  - deploy

workflow
含义:使用工作流控制管道行为。
可能的子项输入:

  • if.
  • changes.
  • exists.
  • when.
  • variables.

示例:

workflow:
  rules:
    - if: $CI_COMMIT_TITLE =~ /-draft$/
      when: never
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

jobs
含义:定义工作
可能的子项输入:

  • after_script
  • allow_failure
  • script
  • when.
  • variables.

示例:

test_job_1:
  script:
    - echo "Run a script that results in exit code 1. This job fails."
    - exit 1
  allow_failure:
    exit_codes: 137

test_job_2:
  script:
    - echo "Run a script that results in exit code 137. This job is allowed to fail."
    - exit 137
  allow_failure:
    exit_codes:
      - 137
      - 255
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值