更新 gitlab ci 以使用最新的 docker 和最新的 aws cli

Update gitlab ci to use latest docker and latest aws cli

我有一个使用 docker 和 awscli

的 gitlab 管道

目前是这样的:

image: docker:19.03.5
services:
  - docker:19.03.5-dind



stages:
  - Build
  - Push

before_script:
  - apk add python3
  - pip3 install awscli
  - docker load --input data/image.tar
  - $(aws ecr get-login --no-include-email --region us-east-1)

构建阶段拉 docker:19.03.5 并安装 awscli-1.20.55.

我尝试使用最新的 docker:20.10.9 和 awscli2 但没有成功。 如果我将 yml 更改为 pull docker 20.10.9,调用 pip3 install awcli

时会失败

我还尝试安装 curl,然后使用 linux 建议的方法,但没有成功。我在那一步仍然出错。

任何线索如何解决这个问题?

如果将管道的输出与两个 docker 版本进行比较,您会发现每个版本都使用了不同的 python 版本。

python3 (3.8.10-r0)docker:19.03.5python3 (3.9.5-r1)docker:20.10.9

python3 (3.9.5-r1) 没有包含 pip3,因此您需要在安装 awscli 之前手动添加它。

  before_script:
    - apk add python3
    - apk add py3-pip
    - pip3 install awscli