Entwicklungszyklus

In diesem Subtrack lernst Du mehr Details dazu, wie selbst erstellte Komponenten kompiliert und installiert werden. Das ist die Voraussetzung für den nächsten Teil des Tracks, in dem eigene Komponenten erstellt bzw. codiert werden.

Pakettypen und Installationswerkzeuge

Die Installation von Schleupen.CS-Komponenten variiert von Anwendungsfall zu Anwendungsfall. Dabei kommen die folgenden Pakettypen zum Einsatz:

  • Nuget-Package: ein nuget-Package stellt einen Teilbaustein eines Landes- oder einer Geschäftsprozesskomponente dar, z.B. die notwendige Software eines Services, die Datenbank-Patches des zugehörigen Bausteins oder Konfigurationsskripte.
  • Ale-Package: "Ale" steht als Abkürzung für "Auslieferungseinheit" und beinhaltet alle nuget-Packages eines Landes- oder einer Geschäftsprozesskomponente. Ist dieses installiert, ist ein solcher Baustein vollständig installiert.
  • Prozesspaket: dieses sind die umfangreichsten Einheiten und stellen eine fachlich sinnvolle und vollständige Zusammenstellung von technischen Auslieferungseinheiten dar.

Doch wann wird welcher Pakettyp zur Installation verwendet? Dies hängt an dem Anwendungsfall ab und ist für die entsprechenden Rollen optimiert.

Die folgende Tabelle gibt einen Überblick:

AnwendungsfallRolleInstallationswerkzeugPakettypZielumgebungAnmerkung
Repository.ConnectionTests ausführen,
ComponentTests ausführen
Entwicklerupdate-csdatabase.ps1
(DB-Toolbox)
*.csdbp, *.csdbvEntwicklungshostErstellt eine neue Datenbank mit den Datenbank-Patches des Produkts
Bugfixes bzw. kleine Softwareänderung / -erweiterungen integrativ testenEntwicklerInstall-CSPackageRemotely
(DevelopmentTools)
*.nugetRemote-Host (lokale VM)Die Änderung ist klar lokalisierbar. Z.B. betrifft dies nur das Services-nuget-Package.
Umfangreiche Softwareänderungen / -erweiterungen integrativ testenTesterInstall-CSAlePackageRemotely
(DevelopmentTools)
*.aleRemote-Host (lokale VM),
Sprintintegrations-system
Installiert vollständig eine Komponente
Softwareänderungen / -erweiterungen mit neuen Softwarestände anderer Teams integrativ testenTesterInstall-CSProzesspaketRemote-Host (lokale VM),
Sprintintegrations-system
Install-CS ist eine Erweiterung von CSDeploy zur einfacheren Installation in der Entwicklung
Neue Software auf Kunden-/ kundennahen Systemen installierenAdminCSDeployProzesspaketSchleupen.CS-System
Anwendungsfälle und hierfür relevante Installationswerkzeuge

Während man in der Rolle des Softwareentwicklers Änderungen an der Software vornimmt, ist es ratsam Repository.ConnectionTests bzw. ComponentTests zu erstellen, die die Software im Zusammenspiel mit der Datenbank testen. Dies erfolgt in einer lokalen DB nur zu diesem Zweck. Da hierbei häufig auch die DDL-Statements angepasst werden müssen, ist es als Entwickler mit dem Skript update-csdatabase.ps1 einfach möglich, die DB neu aufzusetzen.

Als nächstes ist es ratsam, das Entwickelte initial integrativ zu testen - neben allen automatisierten Tests. Wurden Änderungen beispielsweise nur in der Software eines Landes vorgenommen, so reicht es, nur das Services-nuget-Package mithilfe des Cmdlets Install-CSPackageRemotely zu installieren. Doch Vorsicht, hierbei musst man genau wissen, welche Änderungen dieses mit sich bringt, was das Risiko birgt, einen inkonsistenten Stand zu erhalten (weil doch z.B. ein Datenbank-Patch eingespielt werden muss). Im Gegensatz dazu wird die Aktualisierung hierbei am schnellsten durchgeführt. Dies ist also nur für Entwickler akzeptabel.

Ale-Packages werden in erster Linie von Entwicklern auf ihren Entwicklungssystemen installiert. Sie sind relativ klein und handlich und der Funktionsumfang ist eng umrissen. Es installiert den kompletten Baustein (Land / GP-Komponente). Entwickler nutzen hierfür das Cmdlet Install-CSAlePackageRemotely. Aber auch als Tester kann hiermit ein Testsystem bestückt werden, um diesen integrativ zu testen.

Prozesspakete werden typischerweise auf Kundensystemen von Administratoren mittels des Werkzeugs CSDeploy verwaltet, d.h. installiert und upgedatet. Auf Schleupen-internen Systemen (z.B. QS-Systemen oder Team-Testsystemen) werden ebenfalls Prozesspakete installiert, hier allerdings mit dem nur bei Schleupen zur Verfügung stehenden Werkzeug Install-CS. Install-CS berücksichtigt einige Besonderheiten, die nur Schleupen-intern relevant sind wie z.B. das Einspielen von Entwicklerlizenzen in das Zielsystem. Sowohl CSDeploy als auch Installationen mittels Install-CS haben zum Ziel, komplette Systeme mit standardisiertem Funktionsumfang zu verwalten.

Die folgenden Videos zeigen an Hand von praktischen Beispielen auf, wie durch Kompilieren Artefakte geschaffen werden und wie diese letztlich genutzt, d.h. installiert werden.

Einen Feature Branch erstellen

In diesem Video siehst du, wie wir einfach einen Feature Branch erstellen und somit mit der Implementierung beginnen können.

Eine Schleupen.CS-Komponente kompilieren

Als Nächstes siehst du, was beim kompilieren zu beachten ist und was dabei passiert.

Eine Schleupen.CS-Komponente installieren

Das Build-Resultat ist ein sogenanntes Ale-Package. Hier zeigen wir, wie dieses als Entwickler in eine VM, das mit einem Schleupen.CS 3.0-System bestückt ist, installiert werden kann.

Installation eines Workflows als Entwickler

Die Installation von Workflow hat einige Besonderheiten, die man kennen muss. Diese werden im folgenden Video gezeigt.

Installation von UI-Artefakten als Entwickler

Die Besonderheiten der Installation von UI-Artefakten als Entwickler werden im folgenden Video dargestellt.

Eine Schleupen.CS-Umgebung aktualisieren

Wie man eine Schleupen.CS-Umgebung - z.B. in der Rolle des Testers - aktualisieren kann, siehst du im Folgenden.

Entwickeln auf dem Host - Nutzung

Entwicklung für Schleupen.CS findet entweder komplett innerhalb einer Virtuellen Maschine (VM) inklusive der Entwicklungswerkzeuge statt oder, indem in der VM nur das Schleupen.CS betrieben wird und die Entwicklungswerkzeuge sich auf dem Host befinden.

Dieses Video beschreibt die Besonderheiten im zweiten Vorgehensmodell.

Das Ausführen des integrativen Tests wie im Video dargestellt funktioniert nur, wenn die Beispiel-Anwendung vollständig installiert ist. Dies führen wir später in Den Service integrativ testen durch!

Cookie Consent mit Real Cookie Banner