我希望在构建过程中只有当 src
文件夹发生更改时,才仅对 master
分支执行一步操作。
因此,我的 .gitlab-ci.yml
文件包含以下内容:
build:php:
stage: build
image: alpine
interruptible: true
needs: [ "test:php" ]
script:
- do stuff // abreviated for simplicity
rules:
- if: $LANGUAGE_RELEASE
when: never
- if: '$CI_COMMIT_REF_SLUG == "master"' # run for production test branch
- changes:
- src/*
然而,这里的问题是当我更改任何内容时,它也会在 dev
分支上运行。
问题:有没有一种方法使此步骤仅在同时满足条件(分支和更改)时运行?
only
和rules
是不兼容的,据我所知,GitLab正在鼓励转向使用rules
。 - wawarules: - if: '$CI_COMMIT_REF_SLUG == "master"' changes: - api/config/* - api/src/* - api/tests/* - api/migrations/* - api/composer.lock - api/symfony.lock
它不起作用。 - wawa