GitHub Workflows CI/CD 报add-path命令禁用错误,该如何排查修复?
报错原因
GitHub官方出于安全考虑,早已弃用旧版add-path、set-env命令,默认禁止这类命令在Workflow中执行。你使用的第三方AWS CLI配置Action chrislennon/action-aws-cli@v1.1版本过旧,内部仍调用已被禁用的add-path命令添加aws-cli的执行路径,因此触发报错。
修复方案
推荐优先使用第一种方案,安全性和兼容性最佳:
- 方案1:替换为AWS官方维护的配置Action
目前GitHub的Ubuntu运行环境默认已预装aws-cli v2,无需额外安装,只需替换原有aws配置步骤即可,修改后的Workflow对应部分如下:# 删掉原来的 uses: chrislennon/action-aws-cli@v1.1 步骤,替换为以下内容 - uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: 替换为你的AWS桶所在区域,比如us-east-1 - run: aws s3 sync dist s3://${{ secrets.AWS_S3_BUCKET_NAME }}/container/latest - 方案2:临时开启不安全命令权限(不推荐,仅作临时应急用)
给旧的aws-cli Action添加允许不安全命令的环境变量,修改对应步骤如下:
该方案会降低Workflow的安全等级,不建议长期使用。- uses: chrislennon/action-aws-cli@v1.1 env: ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
内容的提问来源于stack exchange,提问作者Vimal Kurien Sam
相关产品推荐
相关产品推荐

