GitHub Actions:如何条件化指定checkout的ref参数?
GitHub Actions workflow_dispatch 可选输入判断问题解答
你的写法if: inputs.DEPLOYMENT_BRANCH != ''是完全正确的。
因为workflow_dispatch的可选输入(required: false)如果未传入值,会默认是空字符串,通过判断该输入不等于空字符串,就能精准控制仅在用户传入分支名时执行指定ref的checkout步骤。
示例配置代码
name: 分支部署工作流 on: workflow_dispatch: inputs: DEPLOYMENT_BRANCH: description: '需要部署的分支名称' required: false type: string jobs: deploy: runs-on: ubuntu-latest steps: - name: 检出指定分支 uses: actions/checkout@v3 if: inputs.DEPLOYMENT_BRANCH != '' with: ref: ${{ inputs.DEPLOYMENT_BRANCH }}
其他等价的判断方式
除了判断非空字符串,还可以利用GitHub Actions表达式的布尔特性:空字符串会被解析为false,非空字符串会被解析为true,所以直接使用变量本身作为判断条件也能达到相同效果:
if: ${{ inputs.DEPLOYMENT_BRANCH }}
这种写法更简洁,逻辑和你原来的判断完全一致,同样能实现仅在传入分支名时执行该步骤的需求。
内容的提问来源于stack exchange,提问作者Shivam Sahil
相关产品推荐
相关产品推荐

