GitHub操作中的嵌套模板(从另一个YAML文件调用YAML文件 [英] Nested templates (calling a yaml file from another yaml file) in GitHub Actions
本文介绍了GitHub操作中的嵌套模板(从另一个YAML文件调用YAML文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
GitHub操作是否支持嵌套模板?例如,下面是Azure管道YAML的一个示例,它调用另一个YAML文件:
- job: BuildFunctions
steps:
- ${{ each func in parameters.functionApps }}:
- template: yaml/build-functionapps.yml
parameters:
是否可以在GitHub操作中从另一个YAML文件调用YAML文件?
推荐答案
您可以使用复合运行步骤操作。这些操作仅在YAML(documentation)中定义。
您现在可以在以前可用的
run
步骤之外指定容器、其他复合操作(最大深度为9)和节点操作
节点操作可能引用叶操作,即不调用任何其他操作的操作。
来源:https://github.com/actions/runner/issues/646#issuecomment-901336347
工作流
[...]
jobs:
job:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./.github/workflows/composite-action
[...]
复合运行步骤操作
.github/workflows/composite-action/action.yml
(与工作流相同的存储库)
name: "My composite action"
description: "Checks out the repository and does something"
runs:
using: "composite"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 12
- run: npm test
shell: bash
- run: |
echo "Executing action"
shell: bash
旧限制:
复合运行步骤当前支持什么?
对于复合操作中的每个运行步骤,我们支持:
- 名称
- id
- 运行
- 环境
- 外壳
- 工作目录
此外,我们还支持在整个操作中映射输入和输出。
有关详细信息,请参阅docs。
复合运行步骤不支持什么
我们目前不支持在复合操作中设置条件、出错时继续、超时分钟和使用";[备注:即使用其他操作]以及各个步骤的密码。
(注意:我们支持在工作流中为使用复合运行步骤操作的步骤设置这些属性)
来源:https://github.com/actions/runner/issues/646
这篇关于GitHub操作中的嵌套模板(从另一个YAML文件调用YAML文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文