aws-cli 官方镜像不接受来自 gitlab 的脚本命令
Official aws-cli image does not accept scripts commands from gitlab
我在 gitlab 管道中使用 amazon/aws-cli:2.2.40 在 S3 上发布静态站点。
deploy_front:
image: amazon/aws-cli:2.2.40
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
stage: publish
script:
- s3 sync ./front/build s3://some-bucket-name
最终在
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:
aws help
aws <command> help
aws <command> <subcommand> help
aws: error: argument command: Invalid choice, valid choices are:
accessanalyzer | acm
acm-pca | alexaforbusiness
amp | amplify
amplifybackend | apigateway
....... ..........
我设法通过 运行 docker run -it amazon/aws-cli:2.2.40 aws s3
在本地复制了这个错误。但是 docker run -it amazon/aws-cli:2.2.40 s3
有效,所以我不明白为什么无论我在 script
中使用什么,我都会得到同样的错误。这是一个逃避问题吗?
这是因为 amazon/aws-cli
图像的入口点是:/usr/local/bin/aws
。当您在本地 运行 aws
时,它会 return 帮助消息并给出 252 退出代码。对于override the entrypoint,你这样做:
test:
stage: test
image:
name: amazon/aws-cli
entrypoint: [""]
script:
- aws s3 help
我在 gitlab 管道中使用 amazon/aws-cli:2.2.40 在 S3 上发布静态站点。
deploy_front:
image: amazon/aws-cli:2.2.40
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
stage: publish
script:
- s3 sync ./front/build s3://some-bucket-name
最终在
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:
aws help
aws <command> help
aws <command> <subcommand> help
aws: error: argument command: Invalid choice, valid choices are:
accessanalyzer | acm
acm-pca | alexaforbusiness
amp | amplify
amplifybackend | apigateway
....... ..........
我设法通过 运行 docker run -it amazon/aws-cli:2.2.40 aws s3
在本地复制了这个错误。但是 docker run -it amazon/aws-cli:2.2.40 s3
有效,所以我不明白为什么无论我在 script
中使用什么,我都会得到同样的错误。这是一个逃避问题吗?
这是因为 amazon/aws-cli
图像的入口点是:/usr/local/bin/aws
。当您在本地 运行 aws
时,它会 return 帮助消息并给出 252 退出代码。对于override the entrypoint,你这样做:
test:
stage: test
image:
name: amazon/aws-cli
entrypoint: [""]
script:
- aws s3 help