小编Việ*_*yễn的帖子

如何在 gitlab-ci 中使用规则

我正在尝试构建一个可以有条件地执行的作业,这取决于是否WebClientdevelop分支中修改了文件或子目录,使用rules. 如果仅在开发分支中发现更改,则将构建管道。

目前我得到的.gitlab-ci.yml

deploy_dev_client:
  stage: client
  tags:
    - my tags
  script:
    - '& cd WebClient'
    - 'npm rebuild node-sass'
    - 'npm install @angular/cli@7.0.3'
    - '& npm run build-release --max_old_space_size=$NODE_MEMORY_SIZE'

  rules:
    - changes:
      - WebClient/**/*
      when: always
    - when: never
Run Code Online (Sandbox Code Playgroud)

但是,经过测试,我意识到每当我从本地存储库向 gitlab 推送某些内容时都会执行管道,即使在另一侧的分支上也是如此。

我试过使用only:-develop',但它导致yaml invalid错误,可能是因为only如果rules已经使用则无法使用。无论如何,我仍然可以使用rules仅针对develop分支吗?

pipeline gitlab gitlab-ci gitlab-ci-runner

6
推荐指数
1
解决办法
6810
查看次数

标签 统计

gitlab ×1

gitlab-ci ×1

gitlab-ci-runner ×1

pipeline ×1