Vreau să rulez comenzi Amazon Linux ca parte a conductei gitlab.
Deci, încercând să utilizați imaginea docker ca runner, amazonlinux: cele mai recente
Deci, m-am conectat la containerul docker și am rulat sub comanda.
yum -yq instalează aws-cli
A instalat aws-cli
Apoi, configurat 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
Apoi a rulat sub comanda pentru a verifica identitatea, dar a primit o eroare ca aws-cli-plugin-bolt nu există.
aws sts get-caller-identity
Apoi a rulat python pip install pentru același lucru și am primit eroarea de depreciere a python 2.7 și modulul nu a fost găsit.
pip install awscli-plugin-bolt
DEPRECARE: Python 2.7 a ajuns la sfârșitul duratei sale de viață la 1 ianuarie 2020. Vă rugăm să faceți upgrade la Python, deoarece Python 2.7 nu mai este întreținut. pip 21.0 va renunța la suportul pentru Python 2.7 în ianuarie 2021. Mai multe detalii despre suportul Python 2 în pip pot fi găsite la https://pip.pypa.io/en/latest/development/release-process/#python-2-support
AVERTISMENT: Rularea pip install cu privilegii root nu este, în general, o idee bună. Încercați în schimb `pip install --user`.
EROARE: Nu s-a putut găsi o versiune care îndeplinește cerința awscli-plugin-bolt (din versiuni: niciuna)
EROARE: Nu a fost găsită nicio distribuție potrivită pentru awscli-plugin-bolt
Așa că am schimbat python-ul în python 3 ca versiune implicită folosind comenzile de mai jos și referința pagină.
Amazon-linux-extras activează python 3.8
yum instalează python3.8
update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
Și apoi instalați șurubul de conectare folosind pip3.
yum instalează python3-pip
pip3 instalează awscli-plugin-bolt
Dar totuși, comanda de mai jos încă caută python 2 și eșuează.
aws sts get-caller-identity
Deci, am șters acel container și am creat unul nou și, în primul pas, am schimbat versiunea python 3 ca implicită.
Dar de data aceasta, instalarea yum a aws-cli în sine eșuează.
bash-4.2# yum -yq instalează aws-cli
Fișierul „/usr/bin/yum”, rândul 30
cu excepția KeyboardInterrupt, e:
^
SyntaxError: sintaxă nevalidă
Vă rugăm să sugerați cum să accesați comenzile aws cli din imaginea docker amazonlinux.
Se pare că funcționează dacă schimb imaginea în
imagine:
nume: amazon/aws-cli
punct de intrare: [""]
Astfel încât să nu fie nevoie să instalez aws cli pe cont propriu.
Dar vine cu 3.7 în mod implicit, cum să schimbați asta ca parte a imaginii.
Și întrebarea majoră, în gitlab imaginea de mai sus funcționează, cu rularea docker, nu am putut folosi imaginea direct. Numai comenzile individuale aws acceptă și închide containerul imediat