创建可重复使用的大厅管道

Create reusable concourse pipelines

我有一堆遵循相同基本模式的应用程序,因此我正在尝试创建一个管道来充当可重用库。到目前为止,通过执行以下操作效果很好:

fly -t TARGET set-pipeline /n /c Pipelines\WindowsApp.yml ^
    /l ..\Secrets\config.yml /p %PRODUCT%-%BRANCH% ^
    --var productname=%PRODUCT% --var branch=%BRANCH%

到目前为止它运行良好,但我没有看到的一件事是如果我想为一个场景而不是另一个场景执行一个步骤怎么办。有没有办法将条件应用于步骤?我能够将变量传递到我的 运行 步骤中并在 shell 脚本中对它们进行操作,但是如果我走那条路,这似乎违背了使用资源和步骤的目的。

无法在管道配置中执行条件资源或步骤。

最佳做法是创建一个文本模板来生成您要设置的最终管道配置。例如,一些团队使用 ERB(嵌入式 Ruby)来添加条件和逻辑。