首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在操作中使用if语句

在操作中使用if语句
EN

Stack Overflow用户
提问于 2022-06-08 19:55:56
回答 1查看 70关注 0票数 2

我在这里有一个main.yml工作流:

代码语言:javascript
复制
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元数据文件:

代码语言:javascript
复制
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版本,但是当操作被触发时,它将运行所有三个步骤。

我如何使它,如果我提供一个版本,它只运行一个步骤,提供两个版本,它分别运行两个步骤,等等。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2022-06-08 20:01:31

现在看来,复合操作支持条件。

因此,您可以根据所使用的输入在每个步骤级别添加条件。

在这种情况下,您的action.yml工作流文件如下所示:

代码语言:javascript
复制
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 }} != ''没有
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72551501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档