来自 Jenkins 的 ecr 登录返回未知标志:--password-stdin

Sow*_*mya 4 jenkins docker amazon-ecr

我正在尝试登录 ecr 以使用 Jenkins 从 Jenkins 中提取图像

sh '''aws ecr get-login-password --region us-east-1 | docker login
--username AWS --password-stdin <account-id>.dkr.ecr.us-east-1.amazonaws.com'''

                
Run Code Online (Sandbox Code Playgroud)

但它返回

+ aws ecr get-login-password --region us-east-1
+ docker login --username AWS --password-stdin {account-id}.dkr.ecr.us-east-1.amazonaws.com
unknown flag: --password-stdin
See 'docker login --help'.
Run Code Online (Sandbox Code Playgroud)

它期待 docker --password-stdin 的一些替代方案。需要帮助从 Jenkins 运行此命令以从 ecr 中提取 docker 映像。提前致谢!

Sow*_*mya 5

--password-stdin 期望来自标准输入的密码,因此在 jenkins 脚本中使用以下代码解决了我的问题!

sh '''docker login -u AWS https://<<account-id>>.dkr.ecr.<<region>>.amazonaws.com -p $(aws ecr get-login-password --region us-east-1)'''
Run Code Online (Sandbox Code Playgroud)