Wie Sie eine CI/CD Pipeline aufbauen und Ihre Flexibilität und Wettbewerbsfähigkeit steigern

Wie Sie eine CI/CD Pipeline aufbauen und Ihre Flexibilität und Wettbewerbsfähigkeit steigern

Wie Sie eine CI/CD Pipeline aufbauen und Ihre Flexibilität und Wettbewerbsfähigkeit steigern

Ich habe neulich im Internet etwas Erstaunliches gesehen: ein junger Mann, der drei Rubik's Cubes in wenigen Minuten löst, während er mit ihnen jongliert. Ja, Sie haben richtig gelesen, während er jongliert! Einzigartig und eine dieser Szenen, für die man den sozialen Medien dankbar sein kann. Wenn Sie 5 Minuten Zeit haben, dann schauen Sie es sich einmal an.

Nach dem Video habe ich mich gefragt, ob SAP-Anwender DevOps auf ähnliche Weise sehen. Ist nicht das gleichzeitige Verwalten mehrerer Projekte und Initiativen und das Lösen eines DevOps-Puzzles so ähnlich wie das Jonglieren und Lösen von drei Rubik's Cubes? Es ist schließlich schon schwer genug, sich nur auf das zu konzentrieren, was konkret vor einem liegt.

Kurz vor dem größten SAP-Event des Jahres, der SAPPHIRE NOW, überkommt auch mich das Gefühl, viele Dinge gleichzeitig machen zu müssen. Alle unsere verfügbaren Kräfte sind mit der Planung unseres bisher größten SAPPHIRE-Messestands beschäftigt, um Ihnen die neuesten Innovationen zu kontinuierlicher Auslieferung und Testings aus den letzten 12 Monaten zu präsentieren. Gleichzeitig arbeiten wir mit immer mehr SAP-Anwendern, die DevOps einsetzen möchten, ohne laufende Projekte zu vernachlässigen.

Deshalb möchte ich Ihnen einige Hintergrundinformationen zu den wichtigsten Schritten geben, die beim Aufbau einer effektiven, automatisierten Pipeline für kontinuierliche Auslieferung und kontinuierliche Integration (CI/CD) zu berücksichtigen sind und wie unsere Automatisierungssoftware dabei helfen kann. Ohne Zweifel ist mit den richtigen Werkzeugen für einen reibungslosen, automatisierten Auslieferungsprozess das Jonglieren mit Projekten und das Lösen von Problemen viel einfacher.

Das und vieles mehr zeigen wir Ihnen auf der SAPPHIRE NOW 2018. Wenn Sie also einen Messebesuch planen und weitere Informationen zu diesen Themen wünschen, besuchen Sie uns am Stand #951.

Integration in Backlog-Management-Software

Eine integrierte Toolchain ist das Fundament für funktionierende DevOps-Prozesse. In einem früheren Blog sprach ich über die Bedeutung der Möglichkeiten zur Integration der in einer SAP-Landschaft eingesetzten Lösungen – z. B. das Einsetzen unserer Produkte ActiveControl und Testimony in andere Entwicklungstools.

Unter anderem ist ein Tool für das Backlog-Management ein wesentlicher Bestandteil von CI/CD-Prozessen. Einer meiner Favoriten ist Jira von Atlassian Software, doch es gibt noch zahlreiche andere Anbieter auf dem Markt. Für welche Lösung Sie sich auch entscheiden, sie muss eine enge Integration zwischen dem Backlog-Management und den Entwicklungsaufgaben (Transporten) innerhalb Ihrer SAP-Systeme ermöglichen.

Hier kommt die Sofort-Integration von ActiveControl ins Spiel. Sobald ein Entwickler eine Story z. B. in Jira aufnimmt und darauf basierend mit einer Entwicklung beginnt, werden die erstellten Transporte mit der Story verknüpft. So behalten Sie vollständige Sichtbarkeit und Kontrolle über die Story und die damit verbundenen Transporte in SAP. Und wenn sich die Prioritäten ändern, müssen Sie schnell und einfach darauf reagieren können.

Tests „nach links“ verschieben

Wenn der Entwickler oder die Entwicklerin die Arbeit abgeschlossen hat, steht der erste Governance-Punkt an: Es muss geprüft werden, ob der Code den Standards entspricht, ob Komponententests durchgeführt wurden und ob alles normgerecht dokumentiert ist.

Wichtig ist auch, dass die Entwickler wissen, ob der Code von einem anderen Transport abhängt, der bisher noch nicht ausgeführt wurde.

All diese Prüfungen können automatisch durchgeführt werden, wenn der Entwickler die Komponententests über ActiveControl erledigt – auf diese Weise sind alle Probleme gelöst, bevor der Code weitergereicht wird. Wir nennen diese Funktionalität ShiftLeft, also Testen so früh wie möglich innerhalb eines Prozesses.

Kontinuierliches Testen

Die Themen Linksverschiebung und kontinuierliches Testing sind weitere Schlüsselkomponenten von DevOps. Wenn Sie früher im Entwicklungsprozess und mit höherer Geschwindigkeit testen können, reduzieren Sie das Risiko unerwarteter Probleme bei häufigen Änderungen drastisch. Testimony, unser Tool, das die Robotic Test Automation nutzt, bietet hier die entscheidende Hilfe, indem es vollautomatische Regressionstests auf neue Weise ermöglicht.

Revolutionäre Technologien wie Testimony erlauben es, Regressionstests „nach links zu verschieben“ und täglich auszuführen, damit Transporte direkt nach Fertigstellung getestet werden können. Sobald die „User-Stories“ (Beschreibung neuer Funktionen in einer agilen Entwicklung) auf Abhängigkeiten, Qualität, Dokumentation und Probleme hin geprüft wurden und zusätzlich einen vollständigen Regressionstest durchlaufen haben, können wir sie automatisch in die QA-Systeme verschieben, damit die neuen Entwicklungen die Anforderungen der Test- und Business-Teams ausnahmslos erfüllen.

ActiveControl kommt auch in der Testphase zum Einsatz. Beim Progressionstest für User-Stories (z. B. User Acceptance Testing) muss vieles beachtet werden. Zum Beispiel, welche Testscripts ausgeführt werden müssen. Falls noch andere User-Stories im QA-System vorhanden sind, die sich auf einen unserer Tests auswirken könnten, ist auch dies zu berücksichtigen. Kurz gesagt: Wir müssen sicherstellen, dass die User-Story nicht nur richtig getestet wird, sondern auch gültige Testverfahren angewendet werden.

Diese User-Stories dürfen zudem keine Auswirkungen auf kritische Bereiche des Systems haben oder riskante technische Objekte enthalten, da dies zusätzliche Tests und Freigaben erforderlich machen kann.

Hier kommt wieder ActiveControl zu Hilfe. Dieses Tool analysiert die User-Story automatisch und gibt Ihnen alle notwendigen Informationen, damit Sie sicher sein können, dass die entsprechenden Tests und Abnahmen abgeschlossen sind, bevor der Prozess fortgesetzt wird.

Bereit für die Produktion? Das kommt darauf an ...

Die User-Story hat die Regressions- und Progressionstests durchlaufen und ist bereit für die Produktion. Nach der Freigabe, aber noch vor der Bereitstellung an die Produktion, müssen wir sicherstellen, dass auch alle anderen User-Stories, von denen sie abhängt (siehe meinen vorherigen Blog über das Management von Abhängigkeiten), freigegeben sind.

Es können auch Abhängigkeiten in Verbindung mit Nicht-SAP-Änderungen vorliegen, so dass wir womöglich auch für diesen Fall einen Integrationspunkt mit Nicht-SAP-CI/CD-Tools benötigen. Anwendungen wie GitHub können in ActiveControl integriert werden, was eine vollständige Sichtbarkeit der SAP- und Nicht-SAP-Änderungen bedeutet und eine koordinierte Bereitstellung über mehrere Landschaften hinweg ermöglicht.

Release Orchestration

Sobald die Freigabe erteilt wurde, kann ActiveControl die Auslieferung an ein oder mehrere SAP-Systeme steuern. So bleibt sichergestellt, dass alle systemübergreifenden Abhängigkeiten beachtet und zur richtigen Zeit die richtigen Personen auf die erforderlichen manuellen Aktivitäten hingewiesen werden.

Und dennoch muss man sagen: Wie oft auch eine User-Story getestet wird – es bleibt stets ein Restrisiko, dass sie in der Produktion ein Problem verursacht. In diesem Fall können Sie mit der Backout-Funktion von ActiveControl den Transport rückgängig machen und das System innerhalb weniger Minuten wieder in Betrieb nehmen.

Kontinuierliche Verbesserung

So kann eine durchgängige und kontinuierliche Auslieferung für SAP-Systeme umgesetzt werden – ohne dabei den letzten Teil von CI/CD, die kontinuierliche Verbesserung, außer Acht zu lassen. An diesem Punkt setzt unser DevAnalytics-Modul an, das Verschwendung und Rückstau identifiziert, um den etablierten Prozess kontinuierlich verbessern zu können.

Besuchen Sie uns auf der SAPPHIRE NOW

Wenn Sie die SAPPHIRE NOW in Ihrem Terminkalender zu stehen haben, nutzen Sie die Gelegenheit zu einem persönlichen Treffen an unserem Stand #951 und erfahren Sie aus erster Hand von unseren Kunden, wie sie die Automatisierung nutzen, um mehr Agilität im Geschäftsbetrieb zu erreichen.