Я хочу запустить команды amazon linux как часть конвейера gitlab.
Итак, попытаемся использовать образ Docker в качестве средства запуска,amazonlinux:последняя версия
Итак, подключился к Docker-контейнеру и выполнил команду ниже.
yum -yq install aws-cli
Он установил aws-cli
Затем настроил 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
Затем запустил команду ниже для проверки подлинности, но получил ошибку, так как aws-cli-plugin-bolt отсутствует.
aws sts get-caller-identity
Затем запустил python pip install для того же самого и получил ошибку об устаревании python 2.7 и сообщение о том, что модуль не найден.
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
Поэтому изменил Python на Python 3 в качестве версии по умолчанию, используя приведенные ниже команды и ссылку.страница.
amazon-linux-extras enable python3.8
yum install python3.8
update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
А затем установил заглушки для болтов с помощью pip3.
yum install python3-pip
pip3 install awscli-plugin-bolt
Но все равно, приведенная ниже команда все еще ищет Python 2 и терпит неудачу.
aws sts get-caller-identity
Итак, удалил этот контейнер и создал новый, и на первом этапе изменил версию Python на 3 как версию по умолчанию.
Но на этот раз сама установка aws-cli через yum не удалась.
bash-4.2# yum -yq install aws-cli
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
Пожалуйста, подскажите, как получить доступ к командам aws cli из образа docker amazonlinux.
Кажется, это работает, если я изменю изображение на
image:
name: amazon/aws-cli
entrypoint: [""]
Так что нет необходимости устанавливать aws cli самостоятельно. Но он идет с 3.7 по умолчанию, как изменить это как часть образа. И главный вопрос, в gitlab вышеприведенный образ работает, с docker run я не смог использовать образ напрямую. Только отдельные команды aws он принимает и немедленно закрывает контейнер