在多回购部署中,我怎样才能使管道与其源代码位于同一位置
In a multi-repo deploy, how can I can I keep the pipelines co-located with their source code
我有一个 Deploy to IBM Cloud
按钮,可以部署 3 git 存储库并且运行良好,但我遇到了维护问题。如果我在其中一个影响其构建方式的回购中进行编辑,我必须更改存在于另一个回购中的 pipeline.yml
,即与我的 .bluemix\toolchain.yml
在同一个回购中。我更愿意将我的 pipeline.yml
文件独立包含在它们实际所属的回购协议中。我的 toolchain.yml
有 3 个条目,例如:
services:
dashboard-build:
service_id: pipeline
parameters:
services:
- dashboard-repo
name: 'dashboard-{{toolchain.name}}'
configuration:
content:
$ref: dashboard.pipeline.yml
$refType: text
我试过像这样的绝对路径:
ref: https://raw.githubusercontent.com/org/repo/master/.bluemix/dashboard.pipeline.yml
但它出错了
repository contains an invalid template. File not found
我可以将管道的位置更改为在其自己的存储库中,还是必须与 toolchain.yml
位于同一位置?
是的,正如您所猜到的,任何用 $ref
或 $text
引用的文件在同一个 repo 或 zip 文件中必须是 co-located。我们可能会在未来提供对引用和扩展另一个模板的支持,但目前还没有具体内容。
--
还有...
此处应优先使用 $text
而不是 $ref
和 $refType
。
管道的 "content" 元素需要原始文本,这也是我们添加 $refType: text
的原因。但是,JSON 参考文献中指定的 $ref
明确忽略了兄弟姐妹,因此尽管我们目前支持 $refType
,但以后最好只使用 $text
。
content:
$text: dashboard.pipeline.yml
我有一个 Deploy to IBM Cloud
按钮,可以部署 3 git 存储库并且运行良好,但我遇到了维护问题。如果我在其中一个影响其构建方式的回购中进行编辑,我必须更改存在于另一个回购中的 pipeline.yml
,即与我的 .bluemix\toolchain.yml
在同一个回购中。我更愿意将我的 pipeline.yml
文件独立包含在它们实际所属的回购协议中。我的 toolchain.yml
有 3 个条目,例如:
services:
dashboard-build:
service_id: pipeline
parameters:
services:
- dashboard-repo
name: 'dashboard-{{toolchain.name}}'
configuration:
content:
$ref: dashboard.pipeline.yml
$refType: text
我试过像这样的绝对路径:
ref: https://raw.githubusercontent.com/org/repo/master/.bluemix/dashboard.pipeline.yml
但它出错了
repository contains an invalid template. File not found
我可以将管道的位置更改为在其自己的存储库中,还是必须与 toolchain.yml
位于同一位置?
是的,正如您所猜到的,任何用 $ref
或 $text
引用的文件在同一个 repo 或 zip 文件中必须是 co-located。我们可能会在未来提供对引用和扩展另一个模板的支持,但目前还没有具体内容。
--
还有...
此处应优先使用 $text
而不是 $ref
和 $refType
。
管道的 "content" 元素需要原始文本,这也是我们添加 $refType: text
的原因。但是,JSON 参考文献中指定的 $ref
明确忽略了兄弟姐妹,因此尽管我们目前支持 $refType
,但以后最好只使用 $text
。
content:
$text: dashboard.pipeline.yml