首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >github-action: IF还有其他的吗?

github-action: IF还有其他的吗?
EN

Stack Overflow用户
提问于 2020-03-29 23:57:57
回答 3查看 31.4K关注 0票数 27

在github操作中,我有一个if,但是如果我在else的情况下,我仍然需要运行一些其他的东西。有没有一种干净的方法来做这件事,或者我必须在false条件相同的情况下再做一步?

代码语言:javascript
复制
 - if: contains(['SNAPSHOT'],env.BUILD_VERSION)
   name:IF
   run: echo ":)"
 - if: false == contains(['SNAPSHOT'], env.BUILD_VERSION)
   name: Else
   run: echo ":("
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-04-08 15:53:09

GitHub操作没有else语句来运行不同的命令/操作/代码。但是你是对的,你所需要做的就是用反转的if条件创建另一个步骤。顺便说一句,你可以用!代替false ==

以下是一些链接:if statementoperators

票数 21
EN

Stack Overflow用户

发布于 2021-02-09 05:44:28

您可以执行以下操作,这些操作将仅在条件通过的地方运行脚本:

代码语言:javascript
复制
job_name:
  runs-on: windows-latest
  if: "!contains(github.event.head_commit.message, 'SKIP SCRIPTS')"    <--- skips everything in this job if head commit message does not contain 'SKIP SCRIPTS'

  steps:
    - uses: ....
  
    - name: condition 1
      if: "contains(github.event.head_commit.message, 'CONDITION 1 MSG')"
      run: script for condition 1

   - name: condition 2
      if: "contains(github.event.head_commit.message, 'CONDITION 2 MSG')"
      run: script for condition 2

诸若此类。当然你会在这里使用你自己的条件。

票数 6
EN

Stack Overflow用户

发布于 2021-04-28 06:53:28

您可以考虑使用haya14busa/action-cond操作。当需要if-else操作来设置其他步骤的动态配置时(不需要重复整个步骤来在几个参数中设置不同的值),这是很有用的。

示例:

代码语言:javascript
复制
- name: Determine Checkout Depth
  uses: haya14busa/action-cond@v1
  id: fetchDepth
  with:
    cond: ${{ condition }}
    if_true: '0'  # string value
    if_false: '1' # string value
- name: Checkout
  uses: actions/checkout@v2
  with:
    fetch-depth: ${{ steps.fetchDepth.outputs.value }}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60916931

复制
相关文章

相似问题

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