Video: DevOps with WebSphere Liberty Server

Das folgende Transkript bezieht sich auf das Video "DevOps with WebSphere Liberty Server", in dem gezeigt wird, wie eine Anwendung mit Liberty Server-DevOps und einigen Open-Source-Tools entwickelt, erstellt und implementiert wird. Dieses Transkript ist das Storyboard des Videos. "Audio" beschreibt den Filmkommentar und die Überschriften, die "Bildschirmaktion" beschreibt den im Video gezeigten Inhalt.

Video Demo - DevOps with WebSphere Liberty Server

Tabelle 1. Titelseite. Der Titel und eine grundlegende Übersicht über Erstellung, Update, Test und Implementierung einer Anwendung werden gezeigt.
Szene Audio Bildschirmaktion
1 Diese Demo zeigt, wie Sie Ihre Anwendung mit WebSphere Liberty Server und einer Reihe von Open-Source-Tools erstellen und implementieren können. Der Titel Demo - DevOps with WebSphere Liberty Server wird gezeigt.
2 Sie werden Git für die Quellcodeverwaltung, WebSphere Application Server Developer Tools zum Entwickeln Ihrer Anwendung und Maven für den Build (die Erstellung) verwenden. Das Bild 1. Develop and Build Application mit folgenden Optionen wird gezeigt:
  • Git
  • WebSphere Developer Tools (WDT)
  • Maven
3 Sie werden außerdem Änderungen an Ihrer in Liberty ausgeführten Webanwendung vornehmen und die Änderungen aus der Eclipse IDE an die Produktionsumgebung übergeben (Push). Das Bild 2. Update Application mit WDT wird gezeigt.
4 Sie werden Apache Maven zusammen mit dem WebSphere Liberty Maven-Plug-in verwenden, um einen Integrationstest zum Prüfen Ihrer Änderungen durchzuführen. Das Bild 3. Test Application mit dem Liberty Maven-Plug-in wird gezeigt.
5 Außerdem werden Sie Jenkins für eine fortlaufende Integration verwenden. Das Bild 4. Continuous Integration mit Jenkins wird gezeigt.
6 Sie werden Chef verwenden, um den neuen Build an die Produktionsumgebung zu übergeben (Push).

Liberty wird als Java™ Platform, Enterprise Edition-Laufzeit für alle oben beschriebenen DevOps-Szenarien verwendet. Als Beispiel in dieser Demo wird eine Airline-Anwendung, AcmeAir, verwendet. Das Beispiel veranschaulicht eine steuerbare und reproduzierbare DevOps-Praxis.

Das Bild 5. Continuous Deploy mit Chef wird gezeigt.
Tabelle 2. Demo für Entwicklung und Build einer Anwendung
Szene Audio Bildschirmaktion
7 Lassen Sie uns jetzt mit dem ersten Szenario beginnen: Entwicklung und Build Ihrer Anwendung.

Wir öffnen Eclipse. WDT ist bereits vorinstalliert.

  1. Wir legen als Arbeitsbereichsvorgabe die Verwendung mit Maven fest.
  2. Anschließend klonen wir ein Git-Repository, das die Anwendung AcmeAir enthält. Wir geben den Git-Repository-URI an.
  3. Anschließend importieren wir die Gruppe der Maven-basierten AcmeAir-Projekte: Es gibt 5 Maven-basierte Projekte in diesem Repository.
  4. Jetzt können wir den Maven-Build ausführen, um die Projekte zu erstellen und die Anwendungsartefakte zu erstellen. Wir vergewissern uns, dass der Build erfolgreich abgeschlossen wird.
  5. Jetzt können wir einen Liberty-Server erstellen, um unsere Anwendung von Eclipse auszuführen. Wir geben das Liberty-Installationsverzeichnis an.
  6. Und auch den Namen des Liberty-Servers.
  7. Dann können wir server.xml öffnen, um den Server für die Ausführung der Anwendung AcmeAir zu konfigurieren.
    • Zuerst geben wir den Endpunkt <httpEndpoint> an.
    • Außerdem fügen wir die Datenbankkonfiguration hinzu, die auf eine Derby-Datenbank für Anwendungsdaten verweist.
  8. Wir starten WebSphere Liberty-Server und die Anwendung AcmeAir.
  9. Melden Sie sich jetzt an der Anwendung an und probieren Sie sie aus.
  10. Sie können Ihren Ziel- und Startort angeben. Wählen Sie verfügbare Flugtickets aus und buchen Sie diese.
Der Titel Step 1 Develop and Build Application wird gezeigt.

Demo mit folgenden Schritten für die Entwicklung und den Build einer Anwendung, die DWT verwendet.

Öffnen von Eclipse. WDT ist bereits vorinstalliert.

  1. Festlegen der Arbeitsbereichsvorgabe für die Verwendung mit Maven. Anklicken der Schaltfläche Set all Maven values.
  2. Klonen eines Git-Repositorys, das die Anwendung AcmeAir enthält, und Angabe des Git-Repository-URIs.
  3. Import der Gruppe der Maven-basierten AcmeAir-Projekte: Das Repository acmeair enthält 5 Maven-basierte Projekte.
  4. Anschließend Ausführung von Maven, um die Projekte zu erstellen und die Anwendungsartefakte zu erstellen. Prüfen, ob der Build erfolgreich abgeschlossen wird.
  5. Anschließend kann ein WebSphere Liberty-Server erstellt werden, um die Anwendung von Eclipse auszuführen: Angabe des Liberty-Installationsverzeichnisses.
  6. Angabe des Namens AcmeAirDemo für den Server und Hinzufügen der Anwendung acmeair-webapp.
  7. Öffnen der Serverkonfigurationsdatei server.xml und Konfiguration des Liberty-Servers für Service.
    • Ersetzen des Elements <httpEndpoint> und Hinzufügen weiterer Konfigurationsangaben
    • Hinzufügen der Datenbankkonfiguration, die auf eine Derby-Datenbank für Anwendungsdaten verweist.
  8. Starten des WebSphere Liberty-Servers und der Anwendung AcmeAir.
  9. Anklicken von application URL, um zu prüfen, ob die Anwendung aktiv ist. Initialisieren der Anwendung, indem die Flugdaten geladen werden.
  10. Jetzt ist AcmeAir bereit zur Verwendung.
    • Anmeldung an der Anwendung und anklicken der Aktion Flights, Angabe von New York unter Leave From und Paris unter Arrive At.
    • Anklicken von Find Flights oder Anklicken der Schaltfläche Browse Flights.
    • Suche und Auswahl eines Hinflugs durch Anklicken.
    • Suche und Auswahl eines Rückflugs durch Anklicken.
    • Anklicken der Schaltfläche Book Select Flights.
Tabelle 3. Demo für die Anwendungsaktualisierung
Szene Audio Bildschirmaktion
8

In Szenario 2 nehmen wir eine kurze Änderung an unserer Anwendung vor und zeigen, wie eine fortlaufende Bereitstellung in diesem Fall aussieht. Um das Szenario zu vereinfachen, machen wir nur eine kleine Änderung auf der Indexseite. Wir ersetzen einen hervorgehobenen Inhalt durch "Welcome to Acme Air". Nachdem Sie diese Änderungen gespeichert haben, können Sie die Seite aktualisieren, um die durchgeführten Änderungen anzuzeigen.

Der Titel Step 2 Update Application wird gezeigt.

Demo, die die Seite Index zeigt, die in der Anwendung aktualisiert wird.

Tabelle 4. Demo zum Testen der Anwendung
Szene Audio Bildschirmaktion
9 Als Nächstes werden Maven und das Liberty Maven-Plug-in für Integrationstests verwendet.
  1. Die Anwendung AcmeAir enthält ein acmeair-itests-Projekt mit Integrationstests.
  2. Zum Aktivieren der Integrationstests müssen wir die Datei pom.xml bearbeiten. Hier müssen einige Änderungen vorgenommen werden. Die wichtigste Änderung ist, dass wir das Liberty Maven-Plug-in so aktivieren und konfigurieren müssen, dass es den Liberty-Server vor den Integrationstests startet und nach Ausführung der Tests stoppt.
  3. Wir werden eine Ausführungskonfiguration für AcmeAir-Integrationstests erstellen.
    • Durch Anklicken der Schaltfläche Run werden die Integrationstests ausgeführt. Es dauert einige Minuten, bis die Tests abgeschlossen sind. Der Build ist also erfolgreich.
    • Sie können in der Konsolenausgabe sehen, dass das Liberty Maven-Plug-in den Server startet, bevor die Tests ausgeführt werden, und dass es ihn nach dem Test stoppt.
  4. Sie können den Testbericht anzeigen und sich vergewissern, dass das Ergebnis fehlerfrei ist.
  5. Als Nächstes werden wir die pom.xml-Änderung an Git übergeben (Push), damit die itests in einem Jenkins-Build ausgeführt werden können.
Demo zum Testen der Anwendung mit folgenden Schritten
  1. Die Anwendung AcmeAir enthält ein acmeair-itests-Projekt mit Integrationstests.
  2. Aktivieren der Integrationstests, indem die Datei acmeair-itests/pom.xml bearbeitet wird.
  3. Aktivieren des Build Helper Maven-Plug-in, um einen verfügbaren Netzport zu ermitteln.
  4. Aktivieren und Konfigurieren des Liberty Maven-Plug-ins, um den Liberty-Server vor Ausführung der Integrationstests zu starten und nach Abschluss der Tests zu stoppen.
  5. Aktivieren und Konfigurieren des Maven Failsafe-Plug-ins, um die Integrationstests auszuführen. Die Tests führen die REST-API der Anwendung aus.
  6. Erstellen einer Ausführungskonfiguration für AcmeAir-Integrationstests.
    • Durch Anklicken der Schaltfläche Run werden die Integrationstests ausgeführt. Die Tests sollten erfolgreich abgeschlossen werden.
    • In der Konsolenausgabe prüfen, ob das Liberty Maven-Plug-in den Server vor Ausführung der Tests gestartet hat.
    • In der Konsolenausgabe prüfen, ob das Liberty Maven-Plug-in den Server nach Ausführung der Tests gestoppt hat.
  7. Die Testberichte können im Verzeichnis target/failsafe-reports/ angezeigt werden.
  8. Die Änderung pom.xml muss an Git übergeben (Push) werden, damit die itests in einem Jenkins-Build ausgeführt werden können.
Tabelle 5. Demo, die die fortlaufende Integration mit Jenkins zeigt
Szene Audio Bildschirmaktion
10
  1. Im nächsten Szenario wird Jenkins verwendet, um einen Build-Job für die Anwendung AcmeAir zu erstellen und auszuführen. Der Job entnimmt den Anwendungscode aus Git, kompiliert die Anwendung, führt die Tests aus und veröffentlicht die Buildartefakte. Mit der Konfiguration in Schedule fragt der Job das Git-Repository alle zwei Minuten ab und startet automatisch einen Build, wenn Änderungen erkannt werden.
    • Wir geben das Liberty-Installationsverzeichnis an.
    • Außerdem fügen wir die Aktion post-build action hinzu und wählen Archive the artifacts aus.
    • Nach ein oder zwei Minuten sollte der Build automatisch starten.
  2. Nachdem der Build erfolgreich abgeschlossen wurde, prüfen wir die Jobergebnisse. Das Testergebnis, Test Result, sollte anzeigen, dass kein Fehler aufgetreten ist.
  3. Wir wechseln zu Eclipse und übergeben die auf der Index-Seite vorgenommenen Änderungen.
  4. Wir wechseln zurück zu Jenkins und innerhalb von 2 Minuten sollten wir sehen, dass unter der Tabelle Build History ein neuer Build erscheint.
Der Titel Step 4 Continuous Integration wird gezeigt.

Demo für die fortlaufende Integration mit Jenkins mit folgenden Schritten:

  1. Jenkins wird verwendet, um einen Build-Job für die Anwendung AcmeAir zu erstellen und auszuführen. Der Job entnimmt den Anwendungscode aus Git, kompiliert die Anwendung, führt die Tests aus und veröffentlicht die Buildartefakte. Mit der Konfiguration in Schedule fragt der Job das Git-Repository alle zwei Minuten ab und startet automatisch einen Build, wenn Änderungen erkannt werden.
    • Anklicken der Schaltfläche Add post-build actions und Auswahl von Archive the artifacts.
    • Nach ein oder zwei Minuten sollte der Build automatisch starten.
  2. Nachdem der Build erfolgreich abgeschlossen wurde, prüfen wir die Jobergebnisse. Die Datei acmeair-webapp-1.0-SNAPSHOT.war sollte unter Build Artifacts erscheinen und Test Result sollte anzeigen, dass kein Fehler aufgetreten ist.
  3. Wechsel zu Eclipse und Festschreiben (Commit) der auf der Index-Seite vorgenommenen Änderungen.
  4. Wechsel zu Firefox und Aufruf der Adresse http://server:9080/jenkins/job/AcmeAir tests/. Innerhalb von 2 Minuten sollte unter der Tabelle Build History ein neuer Build erscheinen.
    • Der neue Build kann angeklickt werden und es kann geprüft werden, dass unter Changes die richtigen Commit-Nachrichten erscheinen.
Tabelle 6. Demo, die die fortlaufende Bereitstellung mit Chef zeigt
Szene Audio Bildschirmaktion
11
  1. Im letzten Szenario werden wir eine fortlaufende Bereitstellung mit Chef ausführen.
    • Wir öffnen ein Terminalfenster.
    • Wir erstellen ein leeres Cookbook.
    • Wir bearbeiten die Metadatendatei des Cookbooks.
    • Wir bearbeiten die Anleitungsdatei (Recipe).
    • Wir laden das Cookbook AcmeAir auf den Chef-Server hoch.
  2. Außerdem registrieren wir den Knoten template beim Chef-Server.
  3. Sie können die template-Knotenkonfiguration auf dem Chef-Server konfigurieren.
  4. Anschließend können Sie den Chef-Knoten füllen. Dadurch wird der Befehl chef-client auf dem Knoten template ausgeführt. Die Anwendung AcmeAir sollte auf dem Knoten template vollständig implementiert sein und ausgeführt werden. Um dies zu prüfen, wechseln wir zu Firefox und öffnen den Anwendungsserver template, um die Ergebnisse zu prüfen.
  5. Anschließend erstellen wir einen neuen Jenkins-Build-Job, um chef-client auf dem Knoten template aufzurufen und zu aktualisieren, nachdem alle Integrationstests erfolgreich ausgeführt wurden.
    • In der Jenkins-Konsole bearbeiten wir den Job AcmeAir tests.
    • Unter Post-build Actions klicken wir auf Add post-build action und wählen Build other projects aus.
    • Unter Projects to build geben wir AcmeAir-Chef ein.
    • Wir prüfen, dass der Job AcmeAir tests den Job AcmeAir-Chef auslöst, indem wir einen AcmeAir tests-Build anfordern.

Wir haben gerade die DevOps-Praxis mit Liberty und allgemeinen Open-Source-Tools vorgeführt. Sie können jetzt alle vollständigen End-to-End-DevOps-Szenarien zusammen wiederholt ausprobieren. Während in dieser Demo Chef, WDT, Maven und Jenkins gewählt wurden, können diese Technologien einfach durch andere DevOps-Tools wie uDeploy, Puppet usw. ausgetauscht werden. Danke fürs Zuschauen.

Der Titel Step 5 Continuous Deploy wird gezeigt.

Demo für die fortlaufende Bereitstellung mit Chef mit folgenden Schritten:

  1. Erstellen eines Cookbooks zur Implementierung von AcmeAir
    • Öffnen eines Terminalfensters.
    • Erstellen eines leeren Cookbooks.
    • Bearbeiten der Metadatendatei des Cookbooks.
    • Bearbeiten der Anleitungsdatei (Recipe) default.rb.
    • Upload des Cookbooks AcmeAir auf den Chef-Server.
  2. Booten des Chef-Knotens und Registrieren des Knotens template beim Chef-Server.
  3. Konfiguration der template-Knotenkonfiguration auf dem Chef-Server.
  4. Füllen des Chef-Knotens. Ausführung des Befehls knife ssh name:template sudo chef-client. Dadurch wird der Befehl chef-client auf dem Knoten template ausgeführt. Chef-client führt eine Reihe von Cookbooks auf dem Knoten aus. Die Anwendung AcmeAir sollte auf dem Knoten template vollständig implementiert sein und ausgeführt werden. Wechseln zu Firefox und Öffnen der Adresse http://template:9081/acmeair/.
  5. Automatisches Füllen des Chef-Knotens durch Jenkins. Erstellen eines neuen Jenkins-Build-Jobs, der chef-client auf dem Knoten template aufruft und aktualisiert, nachdem alle Integrationstests erfolgreich ausgeführt wurden.
    • Bearbeiten des Jobs AcmeAir tests in der Jenkins-Konsole.
    • Anklicken von Add post-build action unter Post-build Actions und Auswahl von Build other projects.
    • Angabe von AcmeAir-Chef unter Projects to build.
    • Überprüfung, ob der Job AcmeAir tests den Job AcmeAir-Chef auslöst, indem ein neuer AcmeAir tests-Build angefordert wird.

Symbol das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=video_transcript_dev_ops_demo
Dateiname: video_transcript_dev_ops_demo.html