Amazon Web Services für Entwickler, Teil 2

AWS CodeStar mit CodeCommit und lokalem Git integrieren

| Autor / Redakteur: Thomas Drilling / Stephan Augsten

Begrüßungsbildschirm nach dem Erstellen einer Node.js-Applikation.
Begrüßungsbildschirm nach dem Erstellen einer Node.js-Applikation. (Bild: Drilling / AWS)

Mit AWS CodeStar gestaltet sich das Erstellen, Verwalten und Bearbeiten von Software-Development-Projekten im Team besonders komfortabel. Für das Arbeiten in der AWS-Cloud sind allerdings eine Handvoll Integrationsmaßnahmen erforderlich.

Hat man erst einmal das erste CodeStar-Projekt eingerichtet, ist das Projekt-Dashboard die nächste Anlaufstelle. Es zeigt dem Projekteigentümer bzw. Teams sämtliche Projektressourcen an, darunter die neuesten Commits zum Projekt, den Status der Continuous-Delivery-Pipeline und die Leistung der zugrunde liegenden Instanzen.

Übrigens sind Benutzerprofile nicht projektspezifisch, aber auf eine AWS-Region begrenzt. Wenn ein Nutzer Projekten in mehr als einer Region zugehört, muss er in jeder Region ein Benutzerprofil in CodeStar erstellen.

IDE verbinden

Bei der Arbeit mit CodeStar gilt es zunächst, eine Entwicklungsumgebung für das Projekt festzulegen.
Bei der Arbeit mit CodeStar gilt es zunächst, eine Entwicklungsumgebung für das Projekt festzulegen. (Bild: Drilling / AWS)

Das CodeStar-Dashboard zeigt sämtliche Informationen in Form von Kacheln an, die für eine bestimmte Ressource stehen, wobei ein Klick auf den jeweiligen Detail-Link der Kachel weitere Informationen zutage fördert. Zunächst aber ist es erforderlich, eines der zur Verfügung stehenden IDEs zu verbinden, wozu man initial rechts oben auf die Schaltfläche „Connect tools“ klickt.

Wir entscheiden uns für den Anfang für die Eclipse-IDE. Ein Wechsel z. B. auf die CLI-Tools ist natürlich jederzeit möglich. Ein Assistent führt jeweils durch die weitere Konfiguration. In beiden Fällen muss zunächst der Git-Client für das gewünschte lokale Betriebssystem von der https://git-scm.com/download/win Git-Download-Seite heruntergeladen und installiert werden. Unter Amazon Linux oder RHEL erfolgt das z. B. mit …

sudo yum install git

Bei Windows kann man sich durch den grafischen Installier klicken. Anschließend ist soweit noch nicht geschehen die AWS-CLI herunterzuladen und mit …

aws configure

zu konfigurieren, wozu man die im ersten Teil erwähnten Access-Keys und den gewünschten Region-Namen benötigt. Die für die CLI-Konfiguration gewählte Region muss die gleiche sein, in der das CodeStar-Projekt existiert. Der Account mit dem zugehörigen Berechtigungsraum wird über den AccessKey identifiziert.

Wer mit dem AWS Toolkit für Eclipse arbeiten möchte, sollte auf die Repo-URL "https://aws.amazon.com/eclipse" verweisen.
Wer mit dem AWS Toolkit für Eclipse arbeiten möchte, sollte auf die Repo-URL "https://aws.amazon.com/eclipse" verweisen. (Bild: Drilling / AWS)

Bei Eclipse kann man das AWS Toolkit für Eclipse integrieren. Zwar gibt es dazu auch einen direkten Downloadlink, der direkt zur GitHub-Seite mit verschiedenen Releases des AWS-Toolkits führt. Bei Eclipse gelingt das Installieren des Toolkits aber viel einfacher, indem man unmittelbar in der Eclipse-UI unter „Help / Install New Software“ auf Add klickt und direkt die von AWS bereitgestellte https://aws.amazon.com/eclipse Repo-URL bei „Work with“ einträgt.

Die Eclipse-Integration umfasst zahlreiche AWS-Tools.
Die Eclipse-Integration umfasst zahlreiche AWS-Tools. (Bild: Drilling / AWS)

Anschließend kann man mit Hilfe des AWS-Toolbar-Button ein AWS-CodeStar-Projekt in Eclipse importieren.

CLI-Tools

Für das Verbinden der Command-Line-Tools benötigt man neben dem Git-Client die Git-Zugangsdaten für den IAM-User, die man im IAM-Dashboard für den betreffenden User ganz unten bei „HTTPS Git credentials“ generieren kann.

Befehl zum Klonen des Projekt-Repositories.
Befehl zum Klonen des Projekt-Repositories. (Bild: Drilling / AWS)

Anschließend lässt sich das Project-Repository z. B. in der CMD- oder Bash-Variante des Windows-Git-Clients wie folgt auf die lokale Maschine klonen ...

git clone https://git-codecommit.eu-central-1.amazonaws.com/v1/repos/<repo-name>

..., allerdings nicht ohne die eben generierten Git-Credentials einzugeben. Alternativ klappt das auch per SSH mit

git clone ssh://git-codecommit.eu-central-1.amazonaws.com/v1/repos/drilling

Achtung: Die verschiedenen Git-Clients verhalten sich z. B. beim Anfordern und ggf. Speichern der Git-Credentials etwas undurchsichtig. Woher nämlich im Einzelfall die Aufforderung zur Eingabe der Credentials stammt und ob bzw. wo diese letztendlich gespeichert werden, hängt von der Konfiguration des lokalen Arbeitsplatz-Computers ab: also von Betriebssystem, git-Client und der Software zum Verwalten von Credentials.

Die Verwaltung der Zugangsdaten kann über den Windows-eignenen Git Credential Manager erfolgen.
Die Verwaltung der Zugangsdaten kann über den Windows-eignenen Git Credential Manager erfolgen. (Bild: Drilling / AWS)

Der lokale Arbeitsplatz kann nämlich ein eigenes Verwaltungssystem für Anmeldeinformationen für das jeweilige Betriebssystem verwenden oder das Verwaltungsdienstprogramm für Anmeldeinformationen für die jeweilige Git-Version, etwa den in der Windows-Version enthaltenen Git Credential Manager.

Neben der jeweilige IDE kann auch Git selbst den Credential Manager stellen. Sollte in der ein oder anderen Weise eine Software zum Speichern der Credentials vorhanden sein, erscheint die Aufforderung zur Credential-Eingabe nur dann erneut, wenn der Nutzer das Git-Passwort ändert, die Git-Anmeldeinformationen deaktiviert oder die Git-Anmeldeinformationen in IAM löscht.

Ist auf dem lokalen Computer letztlich doch kein Speicher für Anmeldeinformationen und kein Dienstprogramm zur Verwaltung von Anmeldeinformationen konfiguriert, kann man das jederzeit nachholen. Der Git-Credential-Manager für Windows lässt sich z. B. auch jederzeit nachinstallieren.

In der Dokumentation zu AWS CodeCommit weist AWS sogar ausdrücklich darauf hin, dass die für den IAM-Benutzer konfigurierten Git-Anmeldeinformationen nicht mit dem Git-Dienstprogramm zur Verwaltung von Anmeldeinformationen (Git Credential Manager) kompatibel sind. Hier sollte man also auf jeden Fall auf das Hilfsprogramm für Anmeldeinformationen der AWS CLI verzichten und die Verbindung mit Git-Anmeldeinformationen über HTTPS aufbauen.

Das CodeStar Dashboard

Begrüßungsbildschirm nach dem Erstellen einer Node.js-Applikation.
Begrüßungsbildschirm nach dem Erstellen einer Node.js-Applikation. (Bild: Drilling / AWS)

Jetzt sind alle Vorbereitungen abgeschlossen und man kann sich im CodeStar-Dashboard umsehen. Dieses bietet auf der Begrüßungsseite Links zum Anschauen eines CodeStar-Lern-Videos, die Möglichkeit zum Konfigurieren des Issue-Tracking und einen zentralen Link um Einrichten von Teams.

Schließt man die Begrüßungsseite, findet sich auf der rechten Seite z. B. die Kachel „Application Endpoint“. Diese beinhaltet die http-Adresse der eben auf der automatisch bereitgestellten EC2-Instanz eingerichteten Node.js-Beispielapplikation. Ein Klick auf den Endpoint-Link führt wie zu erwarten unmittelbar zur Anwendung.

Die EC2-Instanz des ausliefernden Web-Servers findet man natürlich auch ganz normal im EC2-Dashboard wieder; schließlich wird der unterliegende Stack von CodeStar mit AWS CloudFormation bereitgestellt, was man ebenfalls leicht im CloudFormation-Dashboard verifizieren kann.

Das CloudFormation-Dashboard liefert zahlreiche Einblicke ins Projekt.
Das CloudFormation-Dashboard liefert zahlreiche Einblicke ins Projekt. (Bild: Drilling / AWS)

Rechts darunter auf der Kachel „Continuous deployment“ sind die Abschnitte für „Source“ und „Applications“ nach dem erfolgreichen initialen Deployment der Beispiel-App inzwischen grün geworden. Der Endpoint würde ansonsten auch nicht wie gezeigt funktionieren. Details dazu findet man jederzeit mit einem Klick auf die Links für „Commit history“ und/oder „Deploy history“ heraus.

Weitere Module

Der Nutzer kann übrigens den Anzeigeort der einzelnen Kacheln auf seinem Dashboard jederzeit per Drag-and-Drop ändern. Weitere Informationen zu den jeweiligen Ressourcen auf den einzelnen Kacheln liefert immer der zugehörige Detaillink auf der Kachel. Man kann auch jederzeit mit dem Link „Add tile“ neue Kacheln hinzufügen.

So bringt AWS CodeStar z. B. Erweiterungen mit, welche die Dashboard Kacheln um neue Funktionen ergänzen, etwa eine JIRA-Erweiterung. Zum Hinzufügen einer Projekterweiterung wählt man auf der Navigationsleiste für das Projekt den Eintrag „Extensions“, klickt dann auf „Add extension“ und folgt den Anweisungen zum Einrichten der Erweiterung.

Darüber hinaus stehen im Navigationsbereich neben Extensions die Module „Code“, „Deploy“, „Pipeline“, „Team“ und „Project“ bereit. Diese sehen wir uns im Zusammenhang mit der Arbeitsweise von CodeStar im nächsten Teil dieses Workshops an.

Übersicht über alle aktuell mit CodeStar integrierten Projekt-Ressourcen.
Übersicht über alle aktuell mit CodeStar integrierten Projekt-Ressourcen. (Bild: Drilling / AWS)

Klickt man aber beispielsweise im Navigationsbereich auf „Project“, zeigt CodeStar eine Übersicht aller derzeit mit CodeStar integrierten Projekt-Ressourcen. Neben IAM, CloudFormation und CodeCommit, mit denen wir schon in Berührung gekommen sind, sind das z. B. die Services CodeDeploy und CodePipeline, die alle unter der Oberfläche von CodeStar perfekt zusammenarbeiten und ebenfalls im nächsten Teil behandelt werden.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45236169 / Cloud-Umgebungen & PaaS)