Como executar o aws cli no contêiner Amazon Linux?

Como executar o aws cli no contêiner Amazon Linux?

Quero executar comandos do Amazon Linux como parte do pipeline do gitlab.

Então, tentando usar a imagem do docker como executor,amazonlinux:mais recente

Então, conectei-me ao contêiner docker e executei o comando abaixo.

yum -yq install aws-cli

Ele instalou o aws-cli

Em seguida, configurei o aws cli.

aws configure set region $AWS_REGION
aws configure set aws_access_key_id $AWS_ACCESS_KEY
aws configure set aws_secret_access_key $AWS_SECRET_KEY
aws configure set plugins.bolt awscli-plugin-bolt

Em seguida, executei o comando abaixo para verificar a identidade, mas obtive um erro porque aws-cli-plugin-bolt não estava lá.

aws sts get-caller-identity

Em seguida, executei python pip install para o mesmo e obtive erro de descontinuação do python 2.7 e módulo não encontrado.

pip install awscli-plugin-bolt
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip install --user` instead.
ERROR: Could not find a version that satisfies the requirement awscli-plugin-bolt (from versions: none)
ERROR: No matching distribution found for awscli-plugin-bolt

Então mudei o python para python 3 como versão padrão usando os comandos abaixo e a referênciapágina.

amazon-linux-extras enable python3.8
yum install python3.8
update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1

E então instalei o parafuso usando pip3.

yum install python3-pip
pip3 install awscli-plugin-bolt

Mesmo assim, o comando abaixo ainda procura python 2 e falha.

aws sts get-caller-identity

Então, excluí aquele container e criei um novo e nesse primeiro passo, alterei a versão 3 do python como padrão.

Mas desta vez, a instalação do próprio aws-cli falhou.

 bash-4.2# yum -yq install aws-cli
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

Por favor, sugira como acessar os comandos do aws cli a partir da imagem do docker amazonlinux.

Parece que está funcionando se eu mudar a imagem para

  image: 
    name: amazon/aws-cli
    entrypoint: [""]

Para que não haja necessidade de instalar o aws cli sozinho. Mas vem com 3.7 por padrão, como mudar isso como parte da imagem. E a questão principal, no gitlab a imagem acima está funcionando, com docker run não consegui usar a imagem diretamente. Apenas comandos aws individuais estão aceitando e fechando o contêiner imediatamente

informação relacionada