我在这里有一个main.yml工作流:
name: Testing
on:
push:
branches:
- main
jobs:
upgrade-kubectl:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install kubectl version
uses: ./.github/actions/promote-image
with:
kubectl: 'latest'以及我的action.yml元数据文件:
name: "Helm, Kubectl or Devspace installation setup"
description: "Install a specific version of Helm, Kubectl or Devspace. Acceptable values are latest or version strings like 1.15.0"
inputs:
kubectl:
description: "Version of Kubectl"
required: false
helm:
description: "Version of Helm"
required: false
devspace:
description: "Version of Devspace"
required: false
runs:
using: "composite"
steps:
- name: Setting up kubectl
uses: azure/setup-kubectl@v1
with:
version: ${{ inputs.kubectl }}
- name: Setting up Helm
uses: azure/setup-helm@v1
with:
version: ${{ inputs.helm }}
- name: Setting up Devspace
uses: loft-sh/setup-devspace@main
with:
version: ${{ inputs.devspace }}目前,我只是在我的工作流程中提供kubectl版本,但是当操作被触发时,它将运行所有三个步骤。
我如何使它,如果我提供一个版本,它只运行一个步骤,提供两个版本,它分别运行两个步骤,等等。
任何帮助都将不胜感激!
发布于 2022-06-08 20:01:31
现在看来,复合操作支持条件。。
因此,您可以根据所使用的输入在每个步骤级别添加条件。
在这种情况下,您的action.yml工作流文件如下所示:
name: "Helm, Kubectl or Devspace installation setup"
description: "Install a specific version of Helm, Kubectl or Devspace. Acceptable values are latest or version strings like 1.15.0"
inputs:
kubectl:
description: "Version of Kubectl"
required: false
helm:
description: "Version of Helm"
required: false
devspace:
description: "Version of Devspace"
required: false
runs:
using: "composite"
steps:
- name: Setting up kubectl
if: ${{ inputs.kubectl != '' }}
uses: azure/setup-kubectl@v1
with:
version: ${{ inputs.kubectl }}
- name: Setting up Helm
if: ${{ inputs.helm != '' }}
uses: azure/setup-helm@v1
with:
version: ${{ inputs.helm }}
- name: Setting up Devspace
if: ${{ inputs.devspace != '' }}
uses: loft-sh/setup-devspace@main
with:
version: ${{ inputs.devspace }}请注意,语法:
if: ${{ inputs.kubectl != '' }}工程if: ${{ inputs.kubectl }} != ''没有https://stackoverflow.com/questions/72551501
复制相似问题