logo
2
10
WeChat Login

CNB能不能通过按钮去选择指定的工作流执行#18

Resolved
created 2025-08-12
Edit

GithubAction中,可以定义一些环境变量去指定某某条工作流运行

on:
  workflow_dispatch:
    inputs:
      os-and-arch:
        required: true
        default: '6.0.0'
        type: choice
        options:
          - Linux (arm)
          - Linux (x86_64)

  choice-x86_64:
    if: ${{ github.event.inputs.os-and-arch == 'Linux (x86_64)' }}
    runs-on: Linux
    steps:
      - name: 工作流 amd
        run: |
          # 工作流
        shell: bash

  choice-arm:
    if: ${{ github.event.inputs.os-and-arch == 'Linux (arm)' }}
    runs-on: Linux
    steps:
      - name: 工作流 arm
        run: |
          # 工作流
c4035357-28f2-4493-879e-5dd6d2a44eb5.png

以上的示例为:在点击 GithubAction 按钮选择 os-and-archLinux (arm) 则会去执行 工作流 arm,当然这个是个示例,还有类似版本之类的也能这样选择

ed9cb327-8e15-4ac0-8edd-d93d941d89c6.png

那么在CNB中,能不能去判断一些输入的变量,通过按钮去选择想要的工作流执行,方便嵌合部分代码,少写重复内容

assigned self
added labels
有效问题

流水线支持if判断,可以根据输入选择不同的策略 https://docs.cnb.cool/zh/build/grammar.html#stage-if

1

流水线支持if判断,可以根据输入选择不同的策略 https://docs.cnb.cool/zh/build/grammar.html#stage-if

@purefox(momo) 大佬,点击按钮的时候,如何设置env。设置不来这个按钮的操作。

bc9117b2-f4ad-4605-93e9-d6eb4d0aa3eb.png大佬,如何设计成这样的选项的?

Developer

1, 多设置几个按钮,人去判断点击执行那个工作流
2,按照 momo 的思路,一个工作流里面通过 if 来判断表单中输入的值来执行不同的工作。
3,想不出来了。

bc9117b2-f4ad-4605-93e9-d6eb4d0aa3eb.png大佬,如何设计成这样的选项的?

@shawn_cnb(小霸王) 去抄这个项目的配置不就好了😃

Developer

在job级添加

if: |
  [ "$YOUR_ENV" = "true" ]

传入变量请参考手动触发流水线 | 云原生构建添加输入框/下拉框/按钮传入环境变量,只要不符合上面的if条件就会跳过这个job的执行

added labels
擂主团已回答
added labels
优质问题
Resolved ISSUE
Assignee
(haorwen)
Label
优质问题
擂主团已回答
有效问题
Priority
None yet
Time period
-
Property
Add custom properties to record and label key information
Participant