Quiero ejecutar comandos de Amazon Linux como parte del proceso de gitlab.
Entonces, al intentar usar la imagen de Docker como corredor,amazonlinux:último
Entonces, me conecté al contenedor acoplable y ejecuté el siguiente comando.
yum -yq install aws-cli
Instaló aws-cli
Luego, configuró 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
Luego ejecuté el siguiente comando para verificar la identidad, pero obtuve el error de que aws-cli-plugin-bolt no estaba allí.
aws sts get-caller-identity
Luego ejecuté python pip install para lo mismo y obtuve un error de obsolescencia de Python 2.7 y no se encontró el módulo.
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
Así que cambié Python a Python 3 como versión predeterminada usando los siguientes comandos y la referencia.página.
amazon-linux-extras enable python3.8
yum install python3.8
update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
Y luego instaló el tapón del perno usando pip3.
yum install python3-pip
pip3 install awscli-plugin-bolt
Pero aún así, el siguiente comando todavía busca Python 2 y falla.
aws sts get-caller-identity
Entonces, eliminé ese contenedor y creé uno nuevo y en ese primer paso, cambié la versión 3 de Python como predeterminada.
Pero esta vez, la instalación de yum de aws-cli falla.
bash-4.2# yum -yq install aws-cli
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
Sugiera cómo acceder a los comandos de AWS CLI desde la imagen de la ventana acoplable de Amazonlinux.
Parece que está funcionando si cambio la imagen a
image:
name: amazon/aws-cli
entrypoint: [""]
De modo que no es necesario instalar AWS CLI por mi cuenta. Pero viene con 3.7 de forma predeterminada, cómo cambiarlo como parte de la imagen. Y una pregunta importante, en gitlab, la imagen de arriba está funcionando, con Docker Run no pude usar la imagen directamente. Solo los comandos individuales de aws aceptan y cierran el contenedor inmediatamente