You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions中基于输入配置role-to-assume条件

GitHub Actions 条件化配置 AWS STS Assume Role

你可以通过 GitHub Actions 的表达式语法,直接在 role-to-assume 字段中根据 workflow_dispatch 的输入值动态切换角色 ARN。以下是完整的工作流配置示例:

name: 条件化AWS角色切换
on:
  workflow_dispatch:
    inputs:
      environment:
        description: '选择目标环境'
        required: true
        type: choice
        options:
          - poc
          - non-poc

jobs:
  deploy-job:
    runs-on: ubuntu-latest
    steps:
      - name: 配置AWS凭证
        uses: aws-actions/configure-aws-credentials@v4
        with:
          # 使用三元表达式根据输入环境选择对应角色ARN
          role-to-assume: ${{ inputs.environment == 'poc' ? 'arn:aws:iam::123456789:role/MY-ROLE' : 'arn:aws:iam::098765432:role/MY-ROLE' }}
          aws-region: us-east-1 # 替换为你的AWS区域

关键说明

  • 触发配置部分:通过 workflow_dispatch 定义了一个可选值为 poc 和 non-poc 的下拉输入项 environment
  • 角色选择逻辑:使用 GitHub Actions 支持的三元运算符 ${{ condition ? value_if_true : value_if_false }},根据输入的环境值自动匹配对应的角色ARN
  • 如果你习惯用逻辑与或的写法,也可以替换成:${{ inputs.environment == 'poc' && 'arn:aws:iam::123456789:role/MY-ROLE' || 'arn:aws:iam::098765432:role/MY-ROLE' }},效果完全一致

内容的提问来源于stack exchange,提问作者Lagot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:27:14