Amazon cli 图像不适用于 Gitlab CI
Amazon cli image doesn't work with Gitlab CI
我正在尝试 运行 使用官方 aws 图像的 aws 命令(使 cloudfront 无效)并具有以下配置 .gitlab-ci.yml:
static-invalidation:
<<: *production-env
stage: static_invalidation
image: amazon/aws-cli:latest
variables:
AWS_ACCESS_KEY_ID: $CLOUDFRONT_AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $CLOUDFRONT_AWS_SECRET_ACCESS_KEY
script:
- aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION --invalidation-batch file://deployment/configs/inv-batch.json
作业失败并出现以下错误:
Using docker image sha256:00cf4f100b03d1b26e93cce377c1311c34efa753e379cd5c6ea5d458337cbaab for amazon/aws-cli:2.2.17 with digest amazon/aws-cli@sha256:39e9898fc43f618636a2190f82b9babcdc618d054e66b49c9959b9cd23285ade ...
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
...
ERROR: Job failed: exit code 252
知道为什么它不起作用吗?
当我 运行 命令在本地运行时。
amazon/aws-cli
docker 已将入口点设置为 aws
因为它预计将作为
执行
$ docker run amazon/aws-cli cloudfront create-invalidation --distribution-id ...
但 gitlab 需要 shell 的入口点,因此它可以执行 script
命令。
查看 gitlab 文档:https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#available-settings-for-image
您会在那里找到如何覆盖 docker 图像入口点。
工作配置是:
image:
name: amazon/aws-cli:2.2.18
entrypoint: [""]
我正在尝试 运行 使用官方 aws 图像的 aws 命令(使 cloudfront 无效)并具有以下配置 .gitlab-ci.yml:
static-invalidation:
<<: *production-env
stage: static_invalidation
image: amazon/aws-cli:latest
variables:
AWS_ACCESS_KEY_ID: $CLOUDFRONT_AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $CLOUDFRONT_AWS_SECRET_ACCESS_KEY
script:
- aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_DISTRIBUTION --invalidation-batch file://deployment/configs/inv-batch.json
作业失败并出现以下错误:
Using docker image sha256:00cf4f100b03d1b26e93cce377c1311c34efa753e379cd5c6ea5d458337cbaab for amazon/aws-cli:2.2.17 with digest amazon/aws-cli@sha256:39e9898fc43f618636a2190f82b9babcdc618d054e66b49c9959b9cd23285ade ...
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
...
ERROR: Job failed: exit code 252
知道为什么它不起作用吗? 当我 运行 命令在本地运行时。
amazon/aws-cli
docker 已将入口点设置为 aws
因为它预计将作为
$ docker run amazon/aws-cli cloudfront create-invalidation --distribution-id ...
但 gitlab 需要 shell 的入口点,因此它可以执行 script
命令。
查看 gitlab 文档:https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#available-settings-for-image
您会在那里找到如何覆盖 docker 图像入口点。
工作配置是:
image:
name: amazon/aws-cli:2.2.18
entrypoint: [""]