【发布时间】:2018-09-14 12:56:36
【问题描述】:
在 circleci 版本 1 配置中,可以选择将 owner 指定为部署中的一个选项。来自 circleci 文档 (https://circleci.com/docs/1.0/configuration/) 的示例,其中 owner: circleci 是关键线:
deployment:
master:
branch: master
owner: circleci
commands:
- ./deploy_master.sh
在配置的第 2 版中,可以使用过滤器和标签来指定构建哪些分支,但是我还没有找到(在文档中或在互联网上)任何可以提供相同功能的东西。
我想要实现的是在 fork 上运行构建和测试步骤,但只有在存储库所有者是主存储库时才运行部署步骤。人们经常使用相同的分支名称进行分叉-在这种情况下master-因此由于无法部署而导致构建失败是违反直觉的,尤其是因为我想在git中使用受保护的分支并且仅基于合并提交在拉取请求中成功构建。
我意识到我们可以转移到仅基于存在的标签运行构建,但没有什么能阻止有人用叉子也在他们的叉子中创建一个标签,这让我们回到了原点。
有人知道如何在版本 2 配置中指定回购的所有者吗?
版本 2 配置文档 (https://circleci.com/docs/2.0/workflows/) 中的一个示例,以防它有助于唤起某些人的记忆:
workflows:
version: 2
un-tagged-build:
jobs:
- build:
filters:
tags:
ignore: /^v.*/
tagged-build:
jobs:
- build:
filters:
branches:
ignore: /.*/
tags:
only: /^v.*/
【问题讨论】:
标签: continuous-integration continuous-deployment circleci circleci-2.0 circleci-workflows