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找到它:
方案一:直接使用全路径执行命令
方案二:在流水线中把AWS CLI所在目录加入环境变量sh '/opt/homebrew/bin/aws --version'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
相关产品推荐
相关产品推荐

