我的gitlab-ci.yml配置为在推送到暂存分支时部署到暂存服务器。每个开发人员都有自己的登台服务器进行测试。我现在拥有的方式似乎不太可扩展,因为我必须为每个用户复制每个作业。
我现在有:
deploy_to_staging_sf:
image: debian:jessie
stage: deploy
only:
- staging_sf
tags:
- staging_sf
script:
- ./deploy.sh
deploy_to_staging_ay:
image: debian:jessie
stage: deploy
only:
- staging_ay
tags:
- staging_ay
script:
- ./deploy.sh
我想知道是否可以进行某种正则表达式或模式匹配以使其保持DRY和可扩展性,我想出了这一点...
deploy_to_staging:
image: debian:jessie
stage: deploy
only:
- /^staging_.*$/
tags:
- $CI_COMMIT_REF_NAME
script:
- ./deploy.sh
我将跑步者的标签配置为与分支名称匹配。但是,$CI_COMMIT_REF_NAME
的评估结果不为tags
,而我只是得到错误
This job is stuck, because you don't have any active runners online
with any of these tags assigned to them: $CI_COMMIT_REF_NAME
这真的可能吗,我做错了什么,还是根本无法在这里求值?
感谢您的帮助。