
Ich verwende Jenkins für CI. Ich muss in der Lage sein, eine Datei aus einem S3-Bucket abzurufen. Innerhalb des Jenkins-Jobs führe ich die folgende Diagnose von der Jenkins-Shell aus:
cd ~
das bringt mich zu /var/lib/jenkins
whoami
dies gibt den Benutzer Jenkins zurück
in /var/lib/jenkins habe ich meinen .aws-Ordner mit der Konfigurations- und Anmeldeinformationsdatei, aber wenn ich
aws configure list
Ich bekomme Folgendes:
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key <not set> None None
secret_key <not set> None None
region <not set> None None
Da ist nichts, obwohl ich den .aws-Ordner und die richtigen Informationen in diesen beiden Dateien habe. Ich habe ursprünglich versucht, den .aws-Ordner in /home/jenkins zu platzieren, aber das hat auch nicht funktioniert.
Also, wie bringe ich Jenkins dazu, tatsächlich mit der AWS-CLI zu funktionieren?
Antwort1
Sie können die Anmeldeinformationen als Umgebungsvariablen exportieren:
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_DEFAULT_REGION=us-west-2
Sehenhttp://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.htmlfür weitere Informationen. Je nachdem, wie Sie Jenkins verwenden, möchten Sie möglicherweise dieEvnInject-Plugin
Antwort2
Diese Methode hat bei mir funktioniert:
- Erstellen Sie darin ein Verzeichnis
/var/lib/jenkins
mit dem Namen .aws (oder kopieren Sie den Ordner .aws aus dem Home-Verzeichnis, wenn Sie Ihre AWS-Anmeldeinformationen bereits mit dem Befehl „aws configure“ konfiguriert haben). - Gehen Sie dann nach unten
/var/lib/jenkins/.aws
und schreiben Siesudo shown -R jenkins ./
, um den Besitzer für Dateien im .aws-Verzeichnis zu ändern.
Antwort3
Bitte aktualisieren Sie Ihre AWS-Anmeldeinformationen innerhalb der Bash des Jenkins-Servers. Führen Sie die folgenden Befehle aus:
# sudo -su jenkins
# aws configure
Referenzlink:http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ami-jenkins.html
Antwort4
Wenn dieses Problem bei Verwendung der Instanzrolle im Unternehmensnetzwerk auftritt, stellen Sie sicher, dass die Proxy-Einstellungen korrekt sind.