2017-10-13 1 views
0

Ich baue Docker-Images mit TFS. Nachdem das Image erstellt wurde, möchte ich es in Amazon EC2 Container Registry (ECR) verschieben.Bereitstellen von Docker-Image mit TFS zu AWS ECR

Was ist der beste Weg, dies zu erreichen?

Es gibt eine extension for TFS zu z.B. Laden Sie Daten in AWS S3 hoch oder führen Sie AWS CLI-Befehle aus. Mit der CLI konnte ich aws ecr get-login --no-include-email --region xxx ausführen und dann das Bild manuell schieben. Da unser Buildserver ein Linux-Rechner ist und "AWS Tools für Windows PowerShell Script" nur unter Windows läuft, funktioniert er auch nicht.

Antwort

0

Die TFS extension mentioned in der Frage unterstützt jetzt Bilder auf ECR ​​schieben. (Version 1.0.14)

Es gibt jetzt die "AWS Elastic Container Registry Push" Aufgabe enter image description here

0

Ich würde die Erweiterung vermeiden und herausfinden, wie TFS Shell-Skripts bei erfolgreicher Erstellung ausgelöst werden. (Ich weiß nicht genau, wie ich diese Hälfte der Gleichung machen soll, aber ich weiß, wie ich den Rest mache).

Sie können die AWS CLI for Unix herunterladen, die Ihnen diesen Befehl gibt. Dann docker login $(aws ecr get-login --no-include-email --region xxx) wie du gesehen hast und docker push dein Bild an die ECR du erstellt hast.

Die beste Vorgehensweise, die ich gesehen habe, ist, die kleinen "Build-Skripte" so im selben Repository wie Ihren Code zu speichern, etwa in einem build-scripts Ordner oder so. Dann bindet der "harte Teil" nur TFS ein, um das Skript erfolgreich auszuführen, und das ist alles, was es wissen muss.

+0

Vielen Dank für Ihre Antwort. Das Ausführen eines Skripts mit TFS ist kein Problem. Der Teil, den ich hier nicht mag, ist, dass ich das Passwort für AWS im Skript fest codieren müsste. Das ist schlecht, da jeder es sehen kann und wenn ich es ändern muss, müsste ich es in jedem Projekt ändern. Dennoch ist es ein Weg zu gehen, aber für mich nur eine Option, wenn es keinen anderen Weg gibt. – Mathias

+0

Mit der AWS-CLI können Sie die Anmeldeinformationen an drei (oder mehr?) Verschiedenen Orten speichern. Die, die ich mir von Kopf bis Fuß vorstellen kann, sind Textdateien in ~/.aws, Umgebungsvariablen, nach denen die AWS-CLI sucht, oder ja, ich denke, Parameter für die CLI-App. Der Dateiansatz würde Ihnen einen allgemeinen Platz geben, um Kredits zu platzieren, so dass Sie sie für viele Projekte verwenden können. – RyanWilcox

Verwandte Themen