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

M1 Mac环境Jenkins流水线执行AWS命令提示‘aws: not found’求助

解决M1 Mac Jenkins流水线中aws: not found的问题

你遇到的核心问题是:CloudBees AWS Credentials Plugin等AWS相关插件仅负责注入AWS凭证,不会自动安装AWS CLI工具。报错aws: not found说明Jenkins运行的M1 Mac节点上未安装AWS CLI,或者Jenkins的Shell环境无法找到其执行路径。

以下是具体解决步骤:

1. 在M1 Mac的Jenkins节点上安装AWS CLI

M1 Mac为arm64架构,推荐用Homebrew快速安装:

brew install awscli

安装完成后,在终端执行aws --version确认成功(输出类似aws-cli/2.13.0 Python/3.11.4 Darwin/22.6.0 exe/aarch64 prompt/off)。

2. 确保Jenkins能识别AWS CLI的路径

Jenkins的Shell环境变量可能和用户终端不一致,需确认路径并适配:

  • 先在终端执行which aws,获取AWS CLI的绝对路径(比如/opt/homebrew/bin/aws)
  • 有两种方式让Jenkins找到它:
    方案一:直接使用全路径执行命令
    sh '/opt/homebrew/bin/aws --version'
    
    方案二:在流水线中把AWS CLI所在目录加入环境变量
    stage('Push Image Into AWS ECR') {
        steps {
            script{
                echo """Push Image Into AWS ECR... ${image_name}:${image_version}"""
                withCredentials([[
                    $class: 'AmazonWebServicesCredentialsBinding',
                    credentialsId: 'aws-jenkins-demo',
                    accessKeyVariable: 'AWS_ACCESS_KEY_ID',
                    secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']]) {
                    // 将AWS CLI路径加入环境变量
                    env.PATH = "/opt/homebrew/bin:${env.PATH}"
                    sh 'aws --version'
                }
            }
        }
    }
    

3. 验证Jenkins节点的环境配置

如果仍未解决,检查Jenkins节点的环境变量:

  • 进入Jenkins管理页面 → 管理节点 → 选择你的M1 Mac节点 → 点击「配置」
  • 在「节点属性」中查看「环境变量」,确认PATH包含AWS CLI的安装路径
  • 也可在流水线中先打印当前路径,排查问题:
    sh 'echo $PATH'
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 00:21:26