在 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.*/