Tutorial: Erstellen eines Projekts in AWS CodeStar mit der AWS CLI - AWS CodeStar

Am 31. Juli 2024 stellt Amazon Web Services (AWS) die Unterstützung für das Erstellen und Anzeigen von AWS CodeStar Projekten ein. Nach dem 31. Juli 2024 können Sie nicht mehr auf die AWS CodeStar Konsole zugreifen oder neue Projekte erstellen. Die von erstellten AWS Ressourcen AWS CodeStar, einschließlich Ihrer Quell-Repositorys, Pipelines und Builds, sind von dieser Änderung jedoch nicht betroffen und funktionieren weiterhin. AWS CodeStar Verbindungen und AWS CodeStar Benachrichtigungen sind von dieser Einstellung nicht betroffen.

 

Wenn Sie die Arbeit verfolgen, Code entwickeln und Ihre Anwendungen erstellen, testen und bereitstellen möchten, CodeCatalyst bietet Amazon einen optimierten Einstiegsprozess und zusätzliche Funktionen für die Verwaltung Ihrer Softwareprojekte. Erfahren Sie mehr über Funktionen und Preise von Amazon CodeCatalyst.

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.

Tutorial: Erstellen eines Projekts in AWS CodeStar mit der AWS CLI

Dieses Tutorial zeigt Ihnen, wie Sie mit AWS CLI dem ein AWS CodeStar Projekt mit Beispielquellcode und einer Beispiel-Toolchainvorlage erstellen. AWS CodeStarstellt die AWS Infrastruktur und die IAM-Ressourcen bereit, die in einer AWS CloudFormation Toolchainvorlage angegeben sind. Das Projekt verwaltet Ihre Toolchain-Ressourcen für die Erstellung und Bereitstellung Ihres Quellcodes.

AWS CodeStar verwendet AWS CloudFormation zum Erstellen und Bereitstellen Ihres Beispielcodes. Dieser Beispielcode erstellt einen Webservice, der in Amazon API Gateway gehostet wird AWS Lambda und auf den über Amazon API Gateway zugegriffen werden kann.

Voraussetzungen:

  • Führen Sie die Schritte unter Einrichten AWS CodeStar aus.

  • Sie müssen einen Amazon S3 S3-Speicher-Bucket erstellt haben. In diesem Tutorial laden Sie den exemplarischen Quellcode und die Toolchain-Vorlage an diese Stelle hoch.

Anmerkung

Für Ihr AWS-Konto fallen möglicherweise Kosten im Zusammenhang mit diesem Tutorial an, auch für die AWS-Services, die von AWS CodeStar verwendet werden. Weitere Informationen finden Sie unter AWS CodeStar-Preisgestaltung.

Schritt 1: Laden Sie den exemplarischen Quellcode herunter und überprüfen Sie ihn.

Für dieses Tutorial steht eine Zip-Datei zum Download zur Verfügung. Es enthält den Beispiel-Quellcode für eine Node.js Beispielanwendung auf der Lambda-Datenverarbeitungsplattform. Wenn der Quellcode in Ihrem Repository platziert ist, werden dessen Ordner und Dateien wie abgebildet angezeigt:

tests/ app.js buildspec.yml index.js package.json README.md template.yml

Die folgenden Projektelemente sind in Ihrem exemplarischen Quellcode dargestellt:

  • tests/: Komponententests, die für dieses CodeBuild-Projekt eingerichtet wurden. Dieser Ordner ist im Beispielcode enthalten, er ist zum Erstellen eines Projekts aber nicht erforderlich.

  • app.js: Anwendungsquellcode für Ihr Projekt.

  • buildspec.yml: Die Build-Anweisungen für Ihre Build-Stufe der CodeBuild-Ressource. Diese Datei wird für eine Toolchain-Vorlage mit einer CodeBuild -Ressource benötigt.

  • package.json: Die Abhängigkeitsinformationen für Ihren Anwendungsquellcode.

  • README.md: Die Projekt-Readme-Datei, die in allen AWS CodeStar-Projekten enthalten ist. Diese Datei ist im Beispielcode enthalten, sie ist zum Erstellen eines Projekts aber nicht erforderlich.

  • template.yml: Die Infrastrukturvorlagendatei oder SAM-Vorlagendatei, die in allen AWS CodeStar-Projekten enthalten ist. Dies unterscheidet sich von der Toolchain template.yml, die Sie später in diesem Tutorial hochladen. Diese Datei ist im Beispielcode enthalten, sie ist zum Erstellen eines Projekts aber nicht erforderlich.

Schritt 2: Laden Sie die Beispiel-Toolchain-Vorlage herunter

Die für dieses Tutorial bereitgestellte beispielhafte Toolchain-Vorlage erstellt ein Repository (CodeCommit), eine Pipeline (CodePipeline) und einen Build-Container (CodeBuild) und verwendet AWS CloudFormation, um Ihren Quellcode auf einer Lambda-Plattform bereitzustellen. Zusätzlich zu diesen Ressourcen gibt es auch IAM-Rollen, mit denen Sie die Berechtigungen Ihrer Laufzeitumgebung einschränken können, einen Amazon S3 S3-Bucket, in dem Ihre Bereitstellungsartefakte gespeichert werden, und eine CloudWatch Ereignisregel, die verwendet wird, um Pipeline-Bereitstellungen auszulösen, wenn Sie Code in Ihr Repository übertragen. CodePipeline Um mit den Bewährten AWS IAM Methoden übereinzustimmen, reduzieren Sie die Reichweite der Richtlinien Ihrer Toolchain-Rollen, wie sie in diesem Beispiel definiert sind.

Laden Sie die AWS CloudFormation-Mustervorlage herunter und entpacken Sie sie in das YAML Format.

Wenn Sie den create-project-Befehl zu einem späteren Zeitpunkt in diesem Tutorial ausführen, erstellt diese Vorlage die folgenden benutzerdefinierten Toolchain-Ressourcen in AWS CloudFormation. Weitere Informationen zu den in diesem Tutorial erstellten Ressourcen finden Sie in den folgenden Themen im AWS CloudFormation Benutzerhandbuch:

  • Die AWS::CodeCommit::RepositoryAWS CloudFormationRessource erstellt ein CodeCommit Repository.

  • Die AWS::CodeBuild::ProjectAWS CloudFormationRessource erstellt ein CodeBuild Build-Projekt.

  • Die AWS::CodeDeploy::ApplicationAWS CloudFormationRessource erstellt eine CodeDeploy Anwendung.

  • Die AWS::CodePipeline::PipelineAWS CloudFormationRessource erstellt eine CodePipeline Pipeline.

  • Die AWS::S3::BucketAWS CloudFormationRessource erstellt den Artefakt-Bucket Ihrer Pipeline.

  • Die AWS::S3::BucketPolicyAWS CloudFormationRessource erstellt die Artifact-Bucket-Richtlinie für den Artefakt-Bucket Ihrer Pipeline.

  • Die AWS::IAM::RoleAWS CloudFormationRessource erstellt die CodeBuild IAM-Worker-Rolle, die AWS CodeStar Berechtigungen zur Verwaltung Ihres CodeBuild Build-Projekts erteilt.

  • Die AWS::IAM::RoleAWS CloudFormationRessource erstellt die CodePipeline IAM-Worker-Rolle, die AWS CodeStar Berechtigungen zum Erstellen Ihrer Pipeline erteilt.

  • Die AWS::IAM::RoleAWS CloudFormationRessource erstellt die AWS CloudFormation IAM-Worker-Rolle, die AWS CodeStar Berechtigungen zum Erstellen Ihres Ressourcenstapels erteilt.

  • Die AWS::IAM::RoleAWS CloudFormationRessource erstellt die AWS CloudFormation IAM-Worker-Rolle, die AWS CodeStar Berechtigungen zum Erstellen Ihres Ressourcenstapels erteilt.

  • Die AWS::IAM::RoleAWS CloudFormationRessource erstellt die AWS CloudFormation IAM-Worker-Rolle, die AWS CodeStar Berechtigungen zum Erstellen Ihres Ressourcenstapels erteilt.

  • Die AWS::Events::RuleAWS CloudFormationRessource erstellt die CloudWatch Ereignisregel, die Ihr Repository auf Push-Ereignisse überwacht.

  • Die AWS::IAM::RoleAWS CloudFormationRessource erstellt die IAM-Rolle CloudWatch Events.

Schritt 3: Testen Sie Ihre Toolchain-Vorlage in AWS CloudFormation

Bevor Sie Ihre Toolchain-Vorlage hochladen, können Sie Ihre Toolchain-Vorlage in AWS CloudFormation testen und etwaige Fehler beheben.

  1. Speichern Sie Ihre aktualisierte Vorlage auf Ihrem lokalen Computer und öffnen Sie die AWS CloudFormation-Konsole. Wählen Sie Create Stack aus. Ihre neuen Ressourcen sollten in der Liste angezeigt werden.

  2. Überprüfen Sie Ihren Stapel auf eventuelle Fehler bei der Stapelerstellung.

  3. Nachdem Ihre Tests abgeschlossen sind, löschen Sie den Stapel.

    Anmerkung

    Stellen Sie sicher, dass Sie Ihren Stapel und alle in AWS CloudFormation erstellten Ressourcen löschen. Andernfalls könnte es bei der Erstellung Ihres Projekts zu Fehlern bei bereits verwendeten Ressourcennamen kommen.

Schritt 4: Laden Sie Ihren Quellcode und Ihre Toolchain-Vorlage hoch

Um ein AWS CodeStar Projekt zu erstellen, müssen Sie zuerst Ihren Quellcode in eine ZIP-Datei packen und in Amazon S3 ablegen. AWS CodeStarinitialisiert Ihr Repository mit diesen Inhalten. Sie geben diesen Speicherort in Ihrer Eingabedatei an, wenn Sie den Befehl zum Erstellen Ihres Projekts in der AWS CLI ausführen.

Sie müssen Ihre toolchain.yml Datei auch hochladen und in Amazon S3 ablegen. Sie geben diesen Speicherort in Ihrer Eingabedatei an, wenn Sie den Befehl zum Erstellen Ihres Projekts in der AWS CLI ausführen

Laden Sie Ihren Quellcode und Ihre Toolchain-Vorlage hoch
  1. Die folgende Beispieldateistruktur zeigt die Quelldateien und die Toolchain-Vorlage, die bereit sind, gezippt und hochgeladen zu werden. Der Beispielcode enthält die Datei template.yml. Denken Sie daran, dass sich diese Datei von der Datei toolchain.yml unterscheidet.

    ls src toolchain.yml ls src/ README.md app.js buildspec.yml index.js package.json template.yml tests
  2. Erstellen Sie die Zip-Datei für die Quelltextdateien.

    cd src; zip -r "../src.zip" *; cd ../
  3. Verwenden Sie den cp Befehl und fügen Sie die Dateien als Parameter hinzu.

    Mit den folgenden Befehlen wird die ZIP-Datei in Amazon S3 hochgeladen. toolchain.yml

    aws s3 cp src.zip s3://MyBucket/src.zip aws s3 cp toolchain.yml s3://MyBucket/toolchain.yml
So konfigurieren Sie Ihren Amazon S3 S3-Bucket für die gemeinsame Nutzung Ihres Quellcodes
  • Da Sie Ihren Quellcode und Ihre Toolchain in Amazon S3 speichern, können Sie die Amazon S3-Bucket-Richtlinien und Objekt-ACLs verwenden, um sicherzustellen, dass andere IAM-Benutzer oder AWS Konten Projekte aus Ihren Samples erstellen können. AWS CodeStarstellt sicher, dass jeder Benutzer, der ein benutzerdefiniertes Projekt erstellt, Zugriff auf die Toolchain und den Quellcode hat, den er verwenden möchte.

    Um jemandem die Verwendung Ihres Beispiels zu ermöglichen, führen Sie die folgenden Befehle aus:

    aws s3api put-object-acl --bucket MyBucket --key toolchain.yml --acl public-read aws s3api put-object-acl --bucket MyBucket --key src.zip --acl public-read

Schritt 5: Erstellen eines Projekts in AWS CodeStar

Verwenden Sie diese Schritte, um Ihr Projekt zu erstellen.

Wichtig

Stellen Sie sicher, dass Sie die bevorzugte AWS Region in AWS CLI konfigurieren. Ihr Projekt wird in der AWS Region erstellt, die im konfiguriert istAWS CLI.

  1. Führen Sie den Befehl create-project aus und beziehen Sie den --generate-cli-skeleton-Parameter ein.

    aws codestar create-project --generate-cli-skeleton

    Daten im JSON-Format werden in der Ausgabe angezeigt. Kopieren Sie die Daten in eine Datei (z. B. input.json) auf Ihrem lokalen Computer oder auf einer Instance, auf der AWS CLI installiert ist. Ändern Sie die kopierten Daten wie im Folgenden dargestellt und speichern Sie die Ergebnisse. Diese Eingabedatei ist für ein Projekt namens MyProject mit einem Bucket-Namen von myBucket konfiguriert.

    • Stellen Sie sicher, dass Sie den Parameter roleArn angeben. Für benutzerdefinierte Vorlagen, wie z. B. die Beispielvorlage in diesem Tutorial müssen Sie eine Rolle angeben. Diese Rolle muss über Berechtigungen zum Erstellen aller Ressourcen verfügen, die in Schritt 2: Laden Sie die Beispiel-Toolchain-Vorlage herunter angegeben sind.

    • Stellen Sie sicher, dass Sie den Parameter ProjectId unter stackParameters angeben. Die Beispielvorlage für dieses Tutorial benötigt diesen Parameter.

    { "name": "MyProject", "id": "myproject", "description": "Sample project created with the CLI", "sourceCode": [ { "source": { "s3": { "bucketName": "MyBucket", "bucketKey": "src.zip" } }, "destination": { "codeCommit": { "name": "myproject" } } } ], "toolchain": { "source": { "s3": { "bucketName": "MyBucket", "bucketKey": "toolchain.yml" } }, "roleArn": "role_ARN", "stackParameters": { "ProjectId": "myproject" } } }
  2. Wechseln Sie in das Verzeichnis, das die soeben gespeicherte Datei enthält, und führen Sie den Befehl create-project erneut aus. Schließen Sie den Parameter --cli-input-json ein.

    aws codestar create-project --cli-input-json file://input.json
  3. Ist der Befehl erfolgreich, gibt er als Ausgabe Daten zurück, die wie folgt aussehen sollten:

    { "id": "project-ID", "arn": "arn" }
    • Die Ausgabe enthält Informationen über das neue Projekt:

      • Der Wert id repräsentiert die Projekt-ID.

      • Der Wert arn zeigt den ARN des Projekts an.

  4. Verwenden Sie den Befehl describe-project, um den Status Ihrer Projekterstellung zu überprüfen. Schließen Sie den Parameter --id ein.

    aws codestar describe-project --id <project_ID>

    In der Ausgabe erscheinen ähnliche Daten wie die folgenden:

    { "name": "MyProject", "id": "myproject", "arn": "arn:aws:codestar:us-east-1:account_ID:project/myproject", "description": "", "createdTimeStamp": 1539700079.472, "stackId": "arn:aws:cloudformation:us-east-1:account_ID:stack/awscodestar-myproject/stack-ID", "status": { "state": "CreateInProgress" } }
    • Die Ausgabe enthält Informationen über das neue Projekt:

      • Der Wert id repräsentiert die eindeutige Projekt-ID.

      • Der Wert state stellt den Status der Projekterstellung dar, z.B. CreateInProgress oder CreateComplete.

Während Ihr Projekt erstellt wird, können Sie Teammitglieder hinzufügen oder den Zugriff auf Ihr Projekt-Repository über die Befehlszeile oder Ihre bevorzugte IDE konfigurieren.