Verwenden der EB CLI mit AWS CodeCommit - AWS Elastic Beanstalk

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden der EB CLI mit AWS CodeCommit

Sie können die EB CLI verwenden, um Ihre Anwendung direkt aus dem AWS CodeCommit-Repository bereitzustellen. Mit CodeCommit können Sie bei der Bereitstellung nur Ihre Änderungen und nicht das gesamte Projekt in das Repository hochladen. Auf diese Weise sparen Sie Zeit und Bandbreite, wenn Sie ein großes Projekt oder eine eingeschränkte Internetverbindung haben. Die EB CLI überträgt Ihre lokalen Commits und nutzt sie zum Erstellen von Anwendungsversionen, wenn Sie eb appversion, eb create oder eb deploy verwenden.

Um Ihre Änderungen bereitzustellen, müssen Sie für die CodeCommit-Integration zuerst die Änderungen bestätigen. Wenn Sie jedoch entwickeln oder debuggen möchten Sie möglicherweise Änderungen, die Sie nicht bestätigt haben, übermitteln. Mithilfe von Staging und eb deploy --staged (führt eine Standard-Bereitstellung durch) können Sie verhindern, dass Ihre Änderungen bestätigt werden. Sie können Ihre Änderungen auch zuerst in eine Entwicklungs- oder Testverzweigung übernehmen und sie erst dann in Ihrem Mainline-Zweig zusammenführen, wenn Ihr Code bereit ist. Mit eb use können Sie die EB-Befehlszeilenschnittstelle so konfigurieren, dass von Ihrer Entwicklungsverzweigung in eine und von Ihrem Mainline-Zweig in eine andere Umgebung bereitgestellt wird.

Anmerkung

CodeCommit wird nicht in allen Regionen angeboten. Die Integration zwischen Elastic Beanstalk und CodeCommit funktioniert in diesen Regionen nicht.

Weitere Informationen zu den AWS-Services, die in den einzelnen Regionen angeboten werden, finden Sie in der Tabelle der Regionen.

Voraussetzungen

Zur Verwendung von CodeCommit mit AWS Elastic Beanstalk benötigen Sie ein lokales Git-Repository (entweder ein bestehendes oder ein neues) mit mindestens einem Commit, der Berechtigung zur Nutzung von CodeCommit und eine Elastic Beanstalk-Umgebung in einer Region, die CodeCommit unterstützt. Ihre Umgebung und das Repository müssen sich in derselben Region befinden.

So initialisieren Sie ein Git-Repository
  1. Führen Sie git init in Ihrem Projektordner aus.

    ~/my-app$ git init
  2. Erstellen Sie Stufen für Ihre Projektdateien mit git add.

    ~/my-app$ git add .
  3. Übergeben Sie Änderung mit git commit.

    ~/my-app$ git commit -m "Elastic Beanstalk application"

Erstellen eines CodeCommit-Repositorys mit der EB CLI

Um mit CodeCommit zu beginnen, führen Sie eb init aus. Während der Repository-Konfiguration werden Sie von der EB CLI aufgefordert, CodeCommit zu verwenden, um Ihren Code zu speichern und Bereitstellungen zu beschleunigen. Auch wenn Sie Ihr Projekt zuvor mit eb init konfiguriert haben, können Sie es erneut zum Konfigurieren von CodeCommit ausführen.

So erstellen Sie ein CodeCommit-Repository mit der EB CLI
  1. Führen Sie eb init in Ihrem Projektordner aus. Während der Konfiguration werden Sie von der EB CLI gefragt, ob Sie CodeCommit verwenden möchten, um Ihren Code zu speichern und Bereitstellungen zu beschleunigen. Auch wenn Sie Ihr Projekt zuvor mit eb init konfiguriert haben, können Sie es trotzdem erneut zum Konfigurieren von CodeCommit ausführen. Geben Sie y bei der Eingabeaufforderung ein, um CodeCommit einzurichten.

    ~/my-app$ eb init Note: Elastic Beanstalk now supports AWS CodeCommit; a fully-managed source control service. To learn more, see Docs: https://aws.amazon.com/codecommit/ Do you wish to continue with CodeCommit? (y/n)(default is n): y
  2. Wählen Sie Create new Repository (Neues Repository erstellen) aus.

    Select a repository 1) my-repo 2) [ Create new Repository ] (default is 2): 2
  3. Geben Sie einen Repository-Namen ein oder drücken Sie die Eingabetaste zum Übernehmen des Standardnamens.

    Enter Repository Name (default is "codecommit-origin"): my-app Successfully created repository: my-app
  4. Wählen Sie eine vorhandene Verzweigung für Ihre Commits oder verwenden Sie die EB-Befehlszeilenschnittstelle zum Erstellen einer neuen Verzweigung.

    Enter Branch Name ***** Must have at least one commit to create a new branch with CodeCommit ***** (default is "mainline"): ENTER Successfully created branch: mainline

Bereitstellen von Ihrem CodeCommit-Repository aus

Wenn Sie CodeCommit mit Ihrem EB CLI-Repository konfigurieren, verwendet die EB CLI den Inhalt des Repository zum Erstellen der Quell-Bundles. Wenn Sie eb deploy oder eb create ausführen, überträgt die EB CLI neue Commits und verwendet die HEAD-Revision Ihrer Verzweigung für die Erstellung des Archivs, das in den EC2-Instances in Ihrer Umgebung bereitgestellt wird.

So verwenden Sie die CodeCommit-Integration mit der EB CLI
  1. Erstellen Sie eine neue Umgebung mit eb create.

    ~/my-app$ eb create my-app-env Starting environment deployment via CodeCommit --- Waiting for application versions to be pre-processed --- Finished processing application version app-ac1ea-161010_201918 Setting up default branch Environment details for: my-app-env Application name: my-app Region: us-east-2 Deployed Version: app-ac1ea-161010_201918 Environment ID: e-pm5mvvkfnd Platform: 64bit Amazon Linux 2016.03 v2.1.6 running Java 8 Tier: WebServer-Standard CNAME: UNKNOWN Updated: 2016-10-10 20:20:29.725000+00:00 Printing Status: INFO: createEnvironment is starting. ...

    Die EB CLI nutzt den aktuellen Commit in der nachverfolgten Verzweigung zum Erstellen der Anwendungsversion, die in der Umgebung bereitgestellt wird.

  2. Wenn Sie neue lokale Commits haben, verwenden Sie eb deploy, um diese zu übertragen und in Ihrer Umgebung bereitzustellen.

    ~/my-app$ eb deploy Starting environment deployment via CodeCommit INFO: Environment update is starting. INFO: Deploying new version to instance(s). INFO: New application version was deployed to running EC2 instances. INFO: Environment update completed successfully.
  3. Um die Änderungen zu testen, bevor Sie sie bestätigen, verwenden Sie die --staged-Option zum Bereitstellen von Änderungen, die Sie mit git add zum Staging-Bereich hinzugefügt haben.

    ~/my-app$ git add new-file ~/my-app$ eb deploy --staged

    Durch das Bereitstellen mit der --staged-Option wird eine Standardbereitstellung durchgeführt und CodeCommit umgangen.

Konfigurieren von zusätzlichen Verzweigungen und Umgebungen

Die CodeCommit-Konfiguration gilt für eine einzelne Verzweigung. Sie können eb use und eb codesource verwenden, um zusätzliche Verzweigungen zu konfigurieren oder die Konfiguration der aktuellen Verzweigung zu ändern.

So konfigurieren Sie die CodeCommit-Integration mit der EB CLI
  1. Zum Ändern der Remote-Verzweigung verwenden Sie die --source-Option des Befehls eb use.

    ~/my-app$ eb use test-env --source my-app/test
  2. Um eine neue Verzweigung und Umgebung zu erstellen, checken Sie eine neue Verzweigung aus, übertragen Sie sie an CodeCommit, erstellen Sie die Umgebung und verbinden Sie die lokale Verzweigung, Remote-Verzweigung und Umgebung dann mit eb use.

    ~/my-app$ git checkout -b production ~/my-app$ git push --set-upstream production ~/my-app$ eb create production-env ~/my-app$ eb use --source my-app/production production-env
  3. Zum interaktiven Konfigurieren von CodeCommit verwenden Sie eb codesource codecommit.

    ~/my-app$ eb codesource codecommit Current CodeCommit setup: Repository: my-app Branch: test Do you wish to continue (y/n): y Select a repository 1) my-repo 2) my-app 3) [ Create new Repository ] (default is 2): 2 Select a branch 1) mainline 2) test 3) [ Create new Branch with local HEAD ] (default is 1): 1
  4. Zum Deaktivieren der CodeCommit-Integration verwenden Sie eb codesource local.

    ~/my-app$ eb codesource local Current CodeCommit setup: Repository: my-app Branch: mainline Default set to use local sources

Verwenden eines vorhandenen CodeCommit-Repositorys

Wenn Sie bereits ein CodeCommit-Repository haben und es mit Elastic Beanstalk verwenden möchten, führen Sie eb init am Stamm des lokalen Git-Repositorys aus.

So verwenden Sie ein vorhandenes CodeCommit-Repository mit der EB CLI
  1. Klonen Sie Ihr CodeCommit-Repository.

    ~$ git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/my-app
  2. Checken Sie eine Verzweigung aus und übertragen Sie sie zur Verwendung mit der Elastic Beanstalk-Umgebung.

    ~/my-app$ git checkout -b dev-env ~/my-app$ git push --set-upstream origin dev-env
  3. Führen Sie eb init. Wählen Sie für Region, Repository und Verzweigung den Namen, den Sie derzeit verwenden.

    ~/my-app$ eb init Select a default region 1) us-east-1 : US East (N. Virginia) 2) us-west-1 : US West (N. California) 3) us-west-2 : US West (Oregon) 4) eu-west-1 : Europe (Ireland) 5) eu-central-1 : Europe (Frankfurt) 6) ap-south-1 : Asia Pacific (Mumbai) 7) ap-southeast-1 : Asia Pacific (Singapore) ... (default is 3): 1 ... Note: Elastic Beanstalk now supports AWS CodeCommit; a fully-managed source control service. To learn more, see Docs: https://aws.amazon.com/codecommit/ Do you wish to continue with CodeCommit? (y/n)(default is n): y Select a repository 1) my-app 2) [ Create new Repository ] (default is 1): 1 Select a branch 1) mainline 2) dev-env 3) [ Create new Branch with local HEAD ] (default is 2): 2

Weitere Informationen zur Verwendung von eb init finden Sie unter Konfigurieren der EB CLI.