首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配大厅配置项中两个Git资源的分支名称

匹配大厅配置项中两个Git资源的分支名称
EN

Stack Overflow用户
提问于 2020-05-07 23:04:19
回答 1查看 399关注 0票数 0

我有一个Concourse CI管道设置,它在逻辑上依赖于两个独立的Git资源。

对于特定的需求,假设发布一个版本的m.n.o,管道需要同时签出这两个项目。重要的是,它需要在两个分支中引用相同的release/m.n.o。此外,我希望通过更新项目A和B来触发我的管道,当然,应该满足匹配分支名称的要求,例如,如果我更新project-a/release/1.2.3,我希望Concourse CI签出project-b/release/1.2.3,而不是任何其他。值得一提的是,在两个项目中可能有多个活动的release/m.n.o分支,即可以推送到project-a/release/1.2.3,以便A&B v.1.2.3都进入CI,然后推送到project-b/release/2.3.4,以便A&B v.2.3.4都是由CI构建的。

代码语言:javascript
复制
resource_types:
  - name: git-multibranch
    type: docker-image
    source:
      repository: cfcommunity/git-multibranch-resource

resources:
  - name: code
    type: git-multibranch
    source:
      uri: git@bitbucket.org:project-a.git
      branches: 'release/.*'

  - name: config
    type: git-multibranch
    source:
      uri: git@bitbucket.org:project-b.git
      branches: 'release/.*'

jobs:
  - name: build
    plan:
      - get: code
        version: latest
        trigger: true

      - get: config
        version: every
        trigger: true

# ... more stuff

到目前为止,我找到的唯一稳定的工作解决方案是,将分支名称作为变量维护,并在每次需要使用fly set-pipeline (或使用Vault,但这更复杂)处理1.2.3或2.3.4版本时切换它。

或者,我可以创建两个(3,4,N)管道,每个发布版本对应一个管道。然而,到目前为止,我发现这两种选择都不太令人满意,与其他CI/CD引擎可以实现的效果相比。

总而言之,我感觉我遗漏了一些Concourse的基本概念,这里可以用来实现一个简单的目标,即检查具有相同名称的分支的两个repos,所以我真的很感谢任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-05-15 20:58:35

我不相信有任何开箱即用的东西可以为你实现这一点。如果我处于类似的位置,我可能会使用相同的管道配置文件在Concourse中设置两条管道,使用占位符作为分支名称,将这些占位符的值放在两个单独的变量文件中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61661104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档