我正在尝试构建一个可以有条件地执行的作业,这取决于是否WebClient在develop分支中修改了文件或子目录,使用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分支吗?