Wie starte ich aws configure in einem Travis-Deploy-Skript?

8

Ich versuche, travis-ci zu erhalten, um ein benutzerdefiniertes Bereitstellungsskript auszuführen, das awscli , um eine Bereitstellung auf meinen Staging-Server zu verschieben.

In meiner .travis.yml Datei habe ich folgendes:

%Vor%

Und ich habe die folgenden Umgebungsvariablen eingerichtet:

%Vor%

mit ihren korrekten Werten in der Weboberfläche travis-ci .

Wenn jedoch aws configure ausgeführt wird, stoppt es und wartet auf Benutzereingaben. Wie kann ich sagen, dass die von mir definierten Umgebungsvariablen verwendet werden sollen?

    
Dave Sag 17.05.2016, 05:35
quelle

2 Antworten

4

Sie können diese auf verschiedene Arten einstellen.

Erstens, indem Sie eine Datei in ~/.aws/config (oder ~/.aws/credentials ) erstellen.

Zum Beispiel:

%Vor%

Zweitens können Sie Umgebungsvariablen für jede Ihrer Einstellungen hinzufügen.

Erstellen Sie beispielsweise die folgenden Umgebungsvariablen:

%Vor%

Drittens können Sie region in als Befehlszeilenargument übergeben. Zum Beispiel:

%Vor%

Sie müssen in diesen Fällen aws configure nicht ausführen, da der CLI konfiguriert ist.

Weitere AWS-Dokumentation zu dieser Seite .

    
Darbio 17.05.2016, 05:45
quelle
9

Darbio 's Lösung funktioniert gut, aber es berücksichtigt nicht, dass Sie am Ende Ihre AWS-Anmeldeinformationen in Ihr Repository schieben.

Das ist eine schlechte Sache , besonders wenn docker versucht, ein privates Image aus einem Ihrer ECR-Repositories zu ziehen. Das würde bedeuten, dass Sie wahrscheinlich Ihre AWS-Produktionsanmeldeinformationen in der Datei .travis.yml speichern mussten, und das ist alles andere als ideal.

Zum Glück gibt Travis Ihnen die Möglichkeit, Umgebungsvariablen, Benachrichtigungseinstellungen und API-Schlüssel zu verschlüsseln.

%Vor%

Machen Sie zuerst travis login , dann werden Sie nach Ihren github-Zugangsdaten gefragt. Sobald Sie eingeloggt sind, gehen Sie in Ihren Projektstammordner (wo Ihre .travis.yml -Datei ist) und verschlüsseln Sie Ihre Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel.

%Vor%

Dank der Option --add erhalten Sie zwei neue (verschlüsselte) Umgebungsvariablen in Ihrer Konfigurationsdatei. Öffnen Sie jetzt einfach Ihre .travis.yml -Datei und Sie sollten in etwa folgendes sehen:

%Vor%

Nun können Sie travis veranlassen, ein Shell-Skript auszuführen, das die ~/.aws/credentials -Datei für Sie erstellt.

ecr_credentials.sh

%Vor%

Dann müssen Sie nur das Skript ecr_credentials.sh von Ihrer .travis.yml -Datei ausführen:

%Vor%

Fertig! : - D

Quelle: Tasten auf Travis CI

    
Francesco Casula 30.06.2017 15:38
quelle