Releases werden nach Implementierungen implementiert. Eine Implementierung zielt auf eine einzelne Phase ab und wird einer Umgebung zugeordnet (Jeder Phase ist eine einzelne Umgebung zugeordnet). Eine Implementierung kann breit gefächert sein und alle Anwendungen in einem Release umfassen, eine einmalige Notfallimplementierung zum Beispiel einer einzelnen Anwendung darstellen oder irgendwo dazwischen liegen. Implementierungen lassen sich auf diese Weise präzise auf den Bedarf zuschneiden.
IBM® UrbanCode Release-Implementierungen enthalten:
Den Zeitplan, der den Zeitpunkt der Implementierungsausführung enthält und angibt, ob es ein einmaliges oder ein wiederkehrendes Ereignis ist
E-Mail-Benachrichtigungen, die von benutzerdefinierten Ereignissen ausgelöst und an einen bestimmten Benutzer oder eine bestimmte Benutzerrolle gesendet werden
Erforderliche Genehmigungen
Implementierungen oder Implementierungspläne bestehen aus Segmenten. Ein Segment stellt Release-Aktivitäten dar, die gemeinsam abgeschlossen werden sollen. Ein Segment kann so konfiguriert werden, dass es nach dem erfolgreichen Abschluss eines anderen Segments ausgeführt wird, es kann aber auch unabhängig von anderen Segmenten ausgeführt werden. Ein Implementierungsplan kann eine beliebige Anzahl an Segmenten beinhalten. Der Standardplan hat zwei Segmente: Tasks zur Implementierungsvorbereitung und Implementierungstasks.
Nach der Definition eines Implementierungsplans kann eine Implementierung jederzeit mit einer Implementierungsanforderung eingeleitet werden. Eine Implementierungsanforderung kann eine gesamte Implementierung oder einen Teil des Plans einleiten, zum Beispiel ein einzelnes Segment.
Jedes Team muss zusätzlich zum primären Plan einen Rückübertragungsplan haben. Der Rückübertragungsplan kann einfach nur ein Rollback auf eine alte Version sein, bis die Blockierung aufgehoben ist.
Eine Ad-hoc-Implementierung ist, wie der Name schon sagt, eine ungeplante Implementierung. Ad-hoc-Implementierungen können jederzeit terminiert werden, sodass Sie keine umfassenden Implementierungslisten während der Releaseplanung erstellen müssen.
Tests bei typischen Umgebungsfortschritten sind wichtig, einschließlich in wiederholt auftretenden Zeitfenstern, allerdings müssen diese flexibel genug sein, um den Zweck von Umgebungen neu zu definieren, wenn die erwarteten Umgebungen nicht mehr verfügbar sind.
Normalerweise wird die Palette der Anwendungen beim Erstellen des Release definiert. Mit dem Release verbundene Anwendungen werden automatisch für jede Implementierung verfügbar, die das Release verwenden. Anwendungen und Anwendungssuites können zu freigegebenen Versionen hochgestuft werden. Normalerweise steht eine freigegebene Version für eine Anwendung (oder Suite), die erfolgreich implementiert wurde und verlässlich verwendet werden kann.
Zusätzlich können Sie Anwendungen zu einem Release hinzufügen, nachdem dafür Implementierungen geplant wurden. Neue Anwendungen werden ein Teil von geplanten Implementierungen oder Implementierungen in Bearbeitung.
Implementierungsaktivitäten werden durch Tasks definiert. Eine einzelne Task ist eine Arbeitseinheit, die eine beliebige Geschäftsaktivität darstellen kann, die dem Release zugeordnet ist. Tasks können so konfiguriert werden, dass sie einmalig ausgeführt werden, oder jedes Mal, wenn der Implementierungsplan verwendet wird. Eine Task kann einer Benutzerrolle oder einem bestimmten Benutzer zugeordnet werden. Wenn sie nicht zugewiesen ist, kann sie von jedem Benutzer mit einer Anforderungsrolle übernommen werden. Nachdem eine Task definiert wurde, wird sie in die Taskbibliothek hinzugefügt und somit für andere Implementierungen verfügbar.
Wenn eine Task erstellt wird, wird ihr eine Dauer zugewiesen, die eine Schätzung des Zeitraums darstellt, die zum Abschließen der Task erforderlich ist. IBM UrbanCode Release fasst die Zeitangaben der Task zusammen, um die gesamte Implementierungszeit zu berechnen.
Tasks können automatisch oder manuell durchgeführt werden. Automatisierte Tasks stammen aus der Integration mit anderen Tools. Anwendungsprozesse aus IBM UrbanCode Deploy-Anwendungen sind zum Beispiel als automatisierte Tasks in IBM UrbanCode Release verfügbar.
Manuelle Tasks können nicht-automatisierte Tasks darstellen, zum Beispiel das Starten oder Anhalten von Servern. Im Gegensatz zu Eckdaten, die für das gesamte Release definiert werden, werden manuelle Tasks (und automatisierte Tasks) einer bestimmten Phase und einem bestimmten Segment zugeordnet. Ein Segment kann als Gruppe von Tasks betrachtet werden, die alle zum selben Zeitpunkt beendet werden sollen.
Normalerweise werden Tasks auf der Seite Geplante Implementierungen in der Webanwendung definiert, sie können aber auch exportiert und importiert werden (als CSV-Dateien).
Anwendungsversionen können Qualitätsstatus aufweisen. Qualitätsstatus gewährleisten, dass Anwendungsversionen eine bestimmte erwartete Qualitätsanforderung erfüllen. Status können manuell oder durch die Integration mit externen Tools zugewiesen werden.
Genehmigungen und Gates können zeitweise ausgesetzt werden, wenn eine Notfallimplementierung erforderlich ist.
Eine Genehmigung ist ein Mechanismus, der zum Steuern von Umgebungen verwendet wird, unabhängig von Qualitäts- (bzw. Status-)aspekten. Genehmigungen werden Phasen zugeordnet. Ein Release, das Genehmigungen erfordert, kann erst in die nächste Phase übergehen, wenn die Genehmigung erteilt wurde. Genehmiger werden normalerweise durch die Benutzerrolle festgelegt. Jeder Benutzer mit einer zugewiesenen Rolle, kann auf eine Genehmigungsanforderung antworten. Wenn in der Qualitätssicherungsphase zum Beispiel eine Genehmigung vom Release-Manager erforderlich ist, kann das Release nicht fortgesetzt werden, bis eine Genehmigung durch eine Person mit der Rolle Release-Manager genehmigt wurde. Bestimmte Benutzer können auch für Genehmigungen festgelegt werden.
Wenn eine geplante Implementierung, für die eine Genehmigung erforderlich ist, die Startzeit erreicht, ohne dass eine Genehmigung erteilt wurde, kann die Phase nicht fortgesetzt werden und wird als vom Genehmiger abgelehnt betrachtet.