CNB能不能通过按钮去选择指定的工作流执行#18
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: | # 工作流
os-and-arch
Linux (arm)
工作流 arm
流水线支持if判断,可以根据输入选择不同的策略 https://docs.cnb.cool/zh/build/grammar.html#stage-if
@purefox(momo) 大佬,点击按钮的时候,如何设置env。设置不来这个按钮的操作。
大佬,如何设计成这样的选项的?
cnb/feedback#1448
1, 多设置几个按钮,人去判断点击执行那个工作流 2,按照 momo 的思路,一个工作流里面通过 if 来判断表单中输入的值来执行不同的工作。 3,想不出来了。
@shawn_cnb(小霸王) 去抄这个项目的配置不就好了😃
在job级添加
if: | [ "$YOUR_ENV" = "true" ]
传入变量请参考手动触发流水线 | 云原生构建添加输入框/下拉框/按钮传入环境变量,只要不符合上面的if条件就会跳过这个job的执行
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: | # 工作流以上的示例为:在点击 GithubAction 按钮选择
os-and-arch为Linux (arm)则会去执行工作流 arm,当然这个是个示例,还有类似版本之类的也能这样选择那么在CNB中,能不能去判断一些输入的变量,通过按钮去选择想要的工作流执行,方便嵌合部分代码,少写重复内容