很多人会发现,在编程中我们经常会看见全局变量,但是往往我们是不太了解的,因为有些人总觉得全局变量听...
内置的环境变量 CI_PIPELINE_SOURCE:流水线是如何触发的。可以是 push、web、schedule、api、external、chat、webide、merge_request_event、external_pull_request_event、parent_pipeline、trigger 或 pipeline 例子 static_check:rules:-if:'$CI_PIPELINE_SOURCE == "merge_request_event"'# 在创建合并请求时触发。...
stages: - deploy workflow: rules: - if: $CI_PIPELINE_SOURCE == "trigger" when: always - changes: - .ci/* when: never - when: always triggers: stage: deploy trigger: project: devops6/devops6-gitlabci-demo branch: main strategy: depend ## 状态同步 triggers2: stage: deploy trigger...
stages: #对stages的编排 - build - test - deploy workflow: rules: - if: $CI_PIPELINE_SOURCE == "push" when: never - when: always variables: DEPLOY_ENV: "dev" RUNNER_TAG: "maven" deploy_job: rules: - if: '$DEPLOY_ENV == "dev"' when: manual - when: on_success stage: deploy ...
workflow:rules:-if:$CI_COMMIT_MESSAGE =~ /-draft$/when:never-if:$CI_PIPELINE_SOURCE == "push" 在上面的示例中,定义的是严格的规则。里面使用了两个Gitlab预定义的变量$CI_COMMIT_MESSAGE和$CI_PIPELINE_SOURCE,前者的含义是你往gitlab仓库里提交的commit信息,后者的含义是你往gitlab仓库里做的操作(例...
Pipeline 在每个项目中,使用名为 img 的YAML文件配置GitLab CI/CD img 流水线。tstmp_20230425214236Stages 一条流水线可以包含若干个阶段, 一个阶段可以包含若干个作业。tstmp_20230425214313Job 作业是具体要执行的任务,命令脚本语句的集合;tstmp_20230425214327Runner...
其次Gitlab的配置文件.gitlab-ci.yml,这份配置文件是CI工作的关键 image:alpine:3.17.1# 本次构建的阶段:build packagestages:-package-build# 生产jar的jobmake_jar:image:myharbor.xxx.com:80/library/maven:3.8.6-jdk-8-jfx stage:package rules:-if:'$CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_BRA...
workflow:rules:-if:'$CI_PIPELINE_SOURCE == "pipeline"'# 当为 pipeline 的时候才会触发,其他情况下不会触发该流水线,也就是上游在 trigger 里调度该项目when:always# 为 true 时,永远执行-when:never# 为 false 时,永远不执行 触发同一项目下的其他 ci ...
在另一个项目 LRUNWEB 的 .gitlab-ci.yml 里写上 trigger,内容如下 workflow:rules:-if:'$CI_PIPELINE_SOURCE == "push"'# 当为 push 的时候when:never# 为 true 时,永远不执行-when:always# 为 false 时,永远执行stages:# 指定运行的步骤,没有指定就顺序执行-build-deploy-test-rebasebuild1:tags:...
- if: '$CI_PIPELINE_SOURCE == "schedule"' when: never - if: '$CI_PIPELINE_SOURCE == "push"' when: never - when: always include 用于include在CI/CD 配置中包含外部 YAML 文件。您可以将一个长gitlab-ci.yml文件分解为多个文件以提高可读性,或减少同一配置在多个位置的重复。 Gitlab CI 用法 ...