我们很难弄清楚如何为我们的项目利用工作流。以下是我们希望做的:

  • 我们想要定义一个“dev/test”工作流来执行许多作业

  • 这些作业构建代码的“快照”,然后将其部署到各种非生产环境中

  • 我们希望上述工作流在任何时候有人提交给我们的“开发”分支时都能被调用

  • 我们还希望定义第二个工作流,该工作流执行与“开发/测试”工作流相同的作业,但也要执行与切割生产版本相关的许多其他作业(例如,文档构建、将工件部署到Maven、标记等)

  • 上面的工作流不会被任何东西自动触发。因为这是一个生产版本,所以我们只能手动执行(通过CircleciUI或者,希望是通过API)

因此,我们继续定义这两个工作流,没有任何分支过滤器。当我们这样做的时候,我们没有意识到这两个工作流都是串行执行的。我们在想,我们可以通过某种方式将发布工作流定义为只手动运行,但这似乎是不可能的。

我们知道的一个选项是在发布工作流上设置一个分支(“master”,在本例中是)过滤器,这样它只在提交时被触发,但我们不想用这些类型的提交来玷污主分支。

我们使用工作流背后的主要驱动因素之一是,我们可以利用Circle CI 2.0中的上下文并使用全局环境变量。

我很想知道其他人是如何使用工作流来实现与上述类似的功能的。

谢谢!

  • 特伦斯

此主题在上次答复后90天自动关闭。不再允许新的答复。