Unsere Services

CI/CD Design und Implementierung

Continuous Integration (CI) und Continuous Delivery (CD) ermöglichen es, Code-Änderungen von Softwareentwicklern häufiger und zuverlässiger bis hin zum Kunden durchzuführen. Dessen Implementierung wird auch als CI/CD-Pipeline bezeichnet.  CI/CD ist eine der besten Praktiken, die von Entwicklerteams umgesetzt werden kann. Das Design einer CI/CD-Pipeline entspricht einer agilen Methode, da die Pipeline es Software-Entwicklungsteams ermöglicht, sich auf das Einhalten von Anforderungen, Codequalität und Sicherheit zu konzentrieren, wenn die Deployment-Schritte automatisiert sind.
Was ist Continuous Integration?
Continuous Integration veranlasst Entwicklungsteams dazu, kleine Änderungen zu implementieren und den Code häufiger in Repositories zur Versionskontrolle einzuchecken. Da die meisten modernen Anwendungen die Entwicklung von Code auf verschiedenen Plattformen und Tools erfordern, benötigt das Team einen Mechanismus zur Integration und zum Testen aller Änderungen. Das technische Ziel von CI ist es, einen konsistenten und automatisierten Weg zu schaffen, um Anwendungen zu bauen, bereitzustellen und zu testen. Wenn der Integrationsprozess konsistent abläuft, ist es einfacher für die Entwickler Code-Änderungen vorzunehmen, was zu einer besseren Zusammenarbeit und Qualität der Software führt.
Was ist Continuous Delivery?
Continuous Delivery macht dort weiter, wo Continuous Integration aufhört. CD automatisiert die Bereitstellung von Anwendungen in ausgewählten Umgebungen. Die meisten Teams arbeiten mit mehreren Umgebungen als der Produktionsumgebung, z.B. Entwicklungs- und Testumgebungen, und CD stellt sicher, dass der neue Code an diese Umgebungen automatisiert übertragen wird.

CI/CD-Tools helfen dabei, die umgebungsspezifischen Parameter sicherzustellen, die mit jeder Auslieferung der Software unterschiedlich sein können. Die CI/CD-Automatisierung führt dann alle notwendigen Aufrufe an den Webserver, Datenbanken und andere Dienste aus, die bei der Bereitstellung möglicherweise neu gestartet werden oder andere Befehle ausführen müssen.
Welche Vorteile hat CI/CD?
Continuous Integration und Continuous Delivery bieten die perfekte Spielwiese für kontinuierliches Testen (Continuous Testing - CT), da das Ziel darin besteht, den Benutzern qualitativ hochwertige Anwendungen und Code zu liefern. Kontinuierliches Testen wird oft als eine Reihe von automatisierten Regressions-, Leistungs- und anderen Tests implementiert, die in der CI/CD-Pipeline ausgeführt werden.

Automatisierte Test-Frameworks helfen den Verantwortlichen in der Qualitätssicherung bei der Definition, Ausführung und Automatisierung verschiedener Tests, mit deren Hilfe die Entwicklungsteams erkennen können, ob ein Software-Build erfolgreich war oder nicht. Dazu gehören Funktionalitätstests, die am Ende eines jeden Sprints entwickelt und zu einem Regressionstest für die gesamte Applikation aggregiert werden. Diese Regressionstests informieren das Team anschließend darüber, ob eine Änderung im Code einen oder mehrere der entwickelten Tests nicht bestanden hat. Regressionstests sind nur der Anfang. Leistungstests, API-Tests, statische Codeanalyse, Sicherheitstests und andere Testformen können ebenfalls automatisiert werden. Der entscheidende Faktor ist, dass diese Tests entweder über die Befehlszeile, Webhook oder Webservice ausgelöst werden können und dass mit Statuscodes für den erfolgreichen oder fehlgeschlagenen Test geantwortet wird.

Sobald das Testen automatisiert ist, impliziert Continuous Testing, dass die Automatisierung in die CI/CD-Pipeline integriert wird. Einige Unit- und Funktionalitätstests können in der CI Pipeline integriert werden, damit Probleme vor oder während des Integrationsprozesses angezeigt werden. Tests, die eine vollständige Produktionsumgebung erfordern, wie z.B. Performance- und Securitytests, werden oft in das CD integriert und nach der Auslieferung durchgeführt.

Nicht nur das Testing ist eine unserer Stärken als Software-Testing-as-a-Service Dienstleister. Unsere Experten sind nachweislich in der Lage, die komplexen und individuellen Anforderungen Ihrer Entwicklungspipeline zu verstehen und in eine optimierte CI/CD Pipeline umzusetzen. Unsere Kunden haben dabei bereits etliche Stunden an Zeitersparnis erzielt, damit sich Ihre Softwareentwickler wieder auf die Entwicklung konzentrieren können und manuelle Fehler in Zukunft vermieden werden.
Welche Vorteile haben Automatisierte CI/CD Pipelines?
Die Forresters Global DevOps Benchmark Online Umfrage aus dem Jahre 2017 ergab, dass über 50% der Befragten bereits DevOps implementiert haben und eine Vertiefung planen, aber über 64% berichteten, dass sie mit "der Zeit, die es dauert, um neue Features für den Kunden freizugeben", unzufrieden sind. Der Schlüssel hierbei ist, dass nur 34% von ihnen eine vollständige und durchgehende Automatisierung von der Entwicklung bis zur Produktionsumgebung erreicht haben.

In Zeiten von agiler Softwareentwicklung hat sich die Automatisierung bei der kontinuierlichen Integration und Auslieferung von Software als unumgänglich erwiesen. Dabei lassen sich Teilprozesse in sogenannte Pipelines definieren, um wiederkehrende Aufgaben auszuführen, die manuell hätten ausgeführt werden müssen und so wertvolle Entwicklerkapazitäten blockieren. Aktuelle Tools wie beispielsweise Jenkins, Travis CI, Bamboo oder JetBrains TeamCity ermöglichen es, programmierbar und deklarativ spezielle Abläufe als Pipeline zu definieren und diese automatisiert unter bestimmten Bedingungen ausführen zu lassen.
Warum ditCraft?
Eine schnelle Online-Recherche nach einer DevOps-Automatisierungslösung führt zu Hunderten von Entwickler-Tools und kompletten Pipeline-Ausführungen. Die Stärken und Kernkompetenzen der einzelnen Tools sind unterschiedlich, ebenso wie die Bedürfnisse der einzelnen Unternehmen. Unabhängig von der Anzahl der Tools dürfen Unternehmen die auf ihre spezifische Umgebung abgestimmte Auswahl der Pipeline-Automatisierungswerkzeuge nicht vernachlässigen. Als erfahrene Experten in der Pipeline-Automatisierung können wir diesen Schritt für Sie übernehmen und die dazugehörigen Unsicherheiten abnehmen - damit Ihr Unternehmen konkurrenzfähig bleibt und den Anschluss nicht verpasst.

Sollten Sie Interesse an CI/CD Design und Implementierung oder allgemeinen DevOps Lösungen haben, möchten Sie sich einen Überblick über die Möglichkeiten für Ihr IT-Unternehmen verschaffen, so kontaktieren Sie uns doch über unser Kontaktformular oder vereinbaren Sie ein Beratungsgespräch über unseren Kalender.
Testimonials

Warum Kunden uns vertrauen

"Software Testing as a Service ist eine perfekte Lösung für Teams, die immer zwischen Feature-Entwicklung und 100%iger Code-Qualität jonglieren. ditCraft ermöglicht es unseren Entwicklern, sich auf den geschäftlichen Mehrwert zu konzentrieren, ohne Kompromisse bei der Code-Qualität einzugehen."
Nitin Maslekar, PhD
Beets&Roots, CTO
"Unsere Lösungen für Fintech- und Versicherungskunden erfordern aufgrund der Rechts- und Sicherheitsvorschriften der Branchen die Gewährleistung einer hohen Softwarequalität. ditCraft's Kompetenz im On-Demand-Software-Testing half uns, die Qualitätsanforderungen unserer Kunden problemlos zu erfüllen."
Florian Eismann
techdepartment ACS GmbH, Partner
"Code-Reviews und Merge-Requests sind ein wichtiger Teil unserer Software-Entwicklung, um eine gute Code-Qualität zu gewährleisten. Mit ditCraft haben wir einen professionellen Sparring-Partner gefunden, um Code-Review-Prozess zu implementieren, der uns hilft, neue Funktionen schneller auszuliefern und trotzdem die hohen Anforderungen zu erfüllen, die wir an unsere produktive Code-Basis stellen."
David Weber
Nooxit, CEO
”Das Team ditCraft ist äußerst professionell, clever und freundlich! Wir hatten ein ausführliches Einführungsgespräch, bei dem wir die vielen subtilen Nuancen unserer Smart Contracts erläuterten. ditCraft hat das Ziel unseres Systems leicht erfasst und war in der Lage, ein ausgezeichnetes high-level Review unseres Protokolls zu liefern. Wir waren so beeindruckt, dass wir ditCraft jetzt auf monatlicher Basis  einsetzen.”
Jonathan Clark
Wildcards, Founder
“Ich könnte nicht glücklicher mit ditCraft sein. Der Audit war umfassend und professionell. Es war klar, dass sie sich wirklich die Zeit genommen hatten, das Projekt gründlich zu verstehen. Sie haben Fehler gefunden, die mir nach sechs Monaten Arbeit nicht in den Sinn gekommen waren. Es ist ein Vergnügen, mit ihnen zusammenzuarbeiten und ich empfehle sie gern weiter."
Andrew Stanger
Realitycards, Founder
“Die kontinuierliche Weiterentwicklung unserer ERP Lösung erfordert flexible und schnelle Releasewechsel. (...) ditCraft hat mit tollem Einsatz und KnowHow den Continuous Delivery Prozess für uns automatisiert und somit optimiert. Das ditCraft Team hat das umfangreiche Konzept zielführend umgesetzt. Die Kommunikation während des gesamten Projekts war klasse."
Torben Ulrich
Tacoss, Softwareentwickler
Jetzt unverbindlich testen

Optimieren Sie Ihr Software-Testing

Gehen Sie auf Augenhöhe mit Branchenführern wie Google, Netflix und Facebook. Unsere Experten unterstützen Sie beim Testen Ihrer Software und helfen Ihnen, Ihr Unternehmen auf das nächste Level zu bringen.