{"id":3394,"date":"2023-07-31T13:19:42","date_gmt":"2023-07-31T11:19:42","guid":{"rendered":"https:\/\/www.extracomputer.de\/ratgeber\/?p=3394"},"modified":"2026-03-13T09:23:02","modified_gmt":"2026-03-13T08:23:02","slug":"continuous-integration","status":"publish","type":"post","link":"https:\/\/www.extracomputer.de\/ratgeber\/continuous-integration\/","title":{"rendered":"Continuous Integration (CI): Was ist kontinuierliche Integration?"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img data-exone-ai-status=\"none\" loading=\"lazy\" decoding=\"async\" width=\"869\" height=\"500\" src=\"https:\/\/os.extracomputer.de\/b10256\/ratgeber\/wp-content\/uploads\/2023\/07\/continuous-integration-frau-computer-code.jpg\" alt=\"continuous-integration-frau-computer-code\" class=\"wp-image-3395\" srcset=\"https:\/\/os.extracomputer.de\/b10256\/ratgeber\/wp-content\/uploads\/2023\/07\/continuous-integration-frau-computer-code-300x173.jpg 300w, https:\/\/os.extracomputer.de\/b10256\/ratgeber\/wp-content\/uploads\/2023\/07\/continuous-integration-frau-computer-code-768x442.jpg 768w, https:\/\/os.extracomputer.de\/b10256\/ratgeber\/wp-content\/uploads\/2023\/07\/continuous-integration-frau-computer-code.jpg 869w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Was versteht man unter Continuous Integration?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Ein Beispielszenario<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Stellen Sie sich folgendes Szenario vor: F\u00fcnf Personen bauen unabh\u00e4ngig voneinander an einem Haus. Als sie ihre Teilgebiete zusammenf\u00fchren m\u00f6chten, merken sie, dass die Bereiche, die sie gebaut haben, nicht zu den Bereichen der anderen passen.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Suche beginnt: <strong>Wo steckt der Fehler oder <em>die <\/em>Fehler<\/strong>? Muss sogar noch einmal jeder von vorne anfangen? Sind die Fehler erst gefunden, muss abermals<strong> viel Zeit investiert<\/strong> werden, bis diese behoben sind. Und je mehr Personen in ein Projekt involviert sind, desto <strong>komplexer <\/strong>und zeitintensiver wird es.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kurze Definition<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Genau diesem Problem soll Continuous Integration &#8211; w\u00f6rtlich \u00fcbersetzt \u201c<strong>kontinuierliche Integration<\/strong>\u201d &#8211; entgegenwirken.&nbsp; CI ist eine <strong>agile (flexible) Arbeitsmethode<\/strong>, die insbesondere Entwicklung und IT f\u00fcr sich nutzen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Und wie funktioniert Continuous Integration?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In der IT funktioniert Continuous Integration wie folgt: Statt unabh\u00e4ngig voneinander ihre Bereiche zu programmieren, diese <strong>erst nach langer Zeit<\/strong> zusammen zu bringen und am Ende festzustellen, dass sie sich nicht ineinander f\u00fcgen, speisen Entwickler ihre Codes permanent &#8211; in <strong>kurzen Zeitabst\u00e4nden<\/strong> &#8211; in eine Versionsverwaltung (Repository) ein.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dazu l\u00e4dt sich der jeweilige Entwickler stets die aktuelle Version des gesamten Codes herunter und f\u00fcgt seinen Code ein. Dann pusht er die \u00c4nderung in die Verwaltung. Durchaus kann es vorkommen, dass mehrere Entwickler gleichzeitig \u00c4nderungen einspeisen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In der Verwaltung werden die \u00c4nderungen laufend &#8211; <strong>kontinuierlich <\/strong>&#8211; automatisch getestet und abgeglichen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bemerkt das System fehlerhafte Elemente, wird das Team dar\u00fcber unterrichtet, wo der Fehler liegt und wer diesen verursacht hat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Teil der CI funktioniert also manuell und <strong>ein Teil automatisch<\/strong>.<\/p>\n\n\n\n<div style=\"display:none;position:relative;width:100%;aspect-ratio:16\/9;overflow:hidden;box-sizing:content-box;\" class=\"exone-video-wrapper\"><div class=\"exone-cookie-iframe-source\" data-cookie-src=\"https:\/\/www.youtube.com\/embed\/1er2cjUq1UI?feature=oembed\"  data-cookie-type=\"iframe\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;border:0;\"><\/div><\/div><div class=\"brxe-div exone-consent-placeholder\" style=\"display: flex; flex-direction: column; align-items: center; row-gap: 8px;\"><img decoding=\"async\" class=\"brxe-image\" src=\"https:\/\/www.extracomputer.de\/ratgeber\/wp-content\/mu-plugins\/assets\/video.webp\" alt=\"\" style=\"width: 100%;max-width: 450px; border: 2px solid var(--border);border-radius: 8px;\"><a class=\"brxe-button bricks-button sm outline bricks-color-primary circle\" data-gtm=\"welcome-cookie-options\" href=\"#microsites-cookies\" data-brx-anchor=\"true\">Marketing-Cookies aktivieren, um Video zu sehen.<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Ein Kreislauf entsteht &#8211; mit kurzen Zyklen<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Code wird in das System gespeist &#8211; ein Build entsteht.<\/li>\n\n\n\n<li>Der Code wird automatisch getestet.\n<ol class=\"wp-block-list\">\n<li>Passt alles? Der&nbsp; n\u00e4chste Code kann eingespeist werden (Schritt 1).<\/li>\n\n\n\n<li>Passt etwas nicht? Der Code muss angepasst werden (Schritt 3).<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Der Code muss angepasst werden.\n<ol class=\"wp-block-list\">\n<li>Der angepasste Code wird getestet (Schritt 2)<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Vorteile und Nachteile der Continuous Integration<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Vorteile<\/strong><\/td><td><strong>Nachteile<\/strong><\/td><\/tr><tr><td>Zeitersparnis<\/td><td>Gefahr von \u00fcberm\u00e4\u00dfigem Finger-Pointing<\/td><\/tr><tr><td>H\u00e4ufiges Feedback<\/td><td>Vertrauen in automatisiertes Testen ggf. nicht sehr gro\u00df<\/td><\/tr><tr><td>Fehler werden schnell gefunden<\/td><td>Einarbeitung in neue Arbeitsprozesse<\/td><\/tr><tr><td>Regelm\u00e4\u00dfige Check-ins<\/td><td>Wartezeiten bei \u00fcberlappender Integration<\/td><\/tr><tr><td>Qualitativ hochwertige Software<\/td><td><\/td><\/tr><tr><td>Dokumentation von \u00c4nderungen<\/td><td><\/td><\/tr><tr><td>Aktuelle Version vorhanden<\/td><td><\/td><\/tr><tr><td>Wegfall von komplexen Integrationsproblemen aka \u201cIntegration Hell\u201d<\/td><td><\/td><\/tr><tr><td>Verbesserte Zusammenarbeit<\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">8 Tipps zur Continuous Integration &#8211; was braucht es f\u00fcr eine erfolgreiche Umsetzung?<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Basics: <\/strong>Zu den Basics geh\u00f6ren die Automatisierung von Build und Test, das Verwenden einer gemeinsamen Versionsverwaltung sowie nat\u00fcrlich die passende Hardware bzw. Server.<\/li>\n\n\n\n<li><strong>T\u00e4glicher Check-in:<\/strong> Code sollte mindestens t\u00e4glich, besser noch mehrmals t\u00e4glich ver\u00f6ffentlicht werden. Code nur 1x in der Woche oder im Monat zu pushen entspricht nicht mehr dem Prinzip von \u201ckontinuierlich\u201d und l\u00e4sst sich schon als \u201cverz\u00f6gert\u201d bezeichnen.<\/li>\n\n\n\n<li><strong>Lokal testen:<\/strong> Um m\u00f6gliche Fehler vor dem Check-in auszuschlie\u00dfen, sollte der Code schon vor dem Push ins Repository lokal getestet werden.<\/li>\n\n\n\n<li><strong>Fehlerbewusstsein<\/strong>: Das lokale wie automatische Testen sollte von demjenigen, der den Code ins System pusht, just in time mitverfolgt werden. So werden eigene Fehler sofort bemerkt.&nbsp;<\/li>\n\n\n\n<li><strong>Zeitnah fixen:<\/strong> Fehler sollten binnen 10 Minuten repariert werden, um die Pipeline nicht zu blockieren.<\/li>\n\n\n\n<li><strong>Verantwortlichkeiten:<\/strong> Eigentlich selbstverst\u00e4ndlich, aber bei Continuous klar geregelt: Derjenige, dessen Code fehlerhaft ist, ist verantwortlich, diesen zu fixen.<\/li>\n\n\n\n<li><strong>Priorisierung: <\/strong>Das Fixen von Fehlern hat Vorrang vor allen anderen T\u00e4tigkeiten.<\/li>\n\n\n\n<li><strong>Kurze Testzyklen:<\/strong> Die Testzyklen sollten so kurz wie m\u00f6glich gehalten werden, um die H\u00e4ufigkeit der Check-ins zu erh\u00f6hen.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Was ist der Unterschied zwischen Continuous Integration und Continuous Delivery?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Methode Continuous Delivery <strong>geht noch weiter<\/strong> als Continuous Integration. Zwar wird auch hier manuell Code eingespeist und automatisch ein Build erstellt und dieser automatisch getestet. Da h\u00f6ren aber die Gemeinsamkeiten auf.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Denn der restliche Prozess bei CI l\u00e4uft <strong>manuell <\/strong>ab, bei CD hingegen <strong>automatisch<\/strong>: Integration Test und Production werden automatisch abgewickelt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5 m\u00f6gliche CI \/ CD Tools<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/www.jenkins.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Jenkins<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Jenkins d\u00fcrfte wohl das bekannteste CI Tool sein. Basis f\u00fcr das Programm ist Java. Es wird OpenSource zur Verf\u00fcgung gestellt und von der Community kontinuierlich weiterentwickelt. Jenkins ist f\u00fcr den lokalen Gebrauch gedacht. Es kann nach eigenen Aussagen die Arbeit auf mehrere Maschinen verteilen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das Tool ist kostenlos.<\/p>\n\n\n\n<div style=\"display:none;position:relative;width:100%;aspect-ratio:16\/9;overflow:hidden;box-sizing:content-box;\" class=\"exone-video-wrapper\"><div class=\"exone-cookie-iframe-source\" data-cookie-src=\"https:\/\/www.youtube.com\/embed\/_MXtbjwsz3A?feature=oembed\"  data-cookie-type=\"iframe\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;border:0;\"><\/div><\/div><div class=\"brxe-div exone-consent-placeholder\" style=\"display: flex; flex-direction: column; align-items: center; row-gap: 8px;\"><img decoding=\"async\" class=\"brxe-image\" src=\"https:\/\/www.extracomputer.de\/ratgeber\/wp-content\/mu-plugins\/assets\/video.webp\" alt=\"\" style=\"width: 100%;max-width: 450px; border: 2px solid var(--border);border-radius: 8px;\"><a class=\"brxe-button bricks-button sm outline bricks-color-primary circle\" data-gtm=\"welcome-cookie-options\" href=\"#microsites-cookies\" data-brx-anchor=\"true\">Marketing-Cookies aktivieren, um Video zu sehen.<\/a><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/about.gitlab.com\/solutions\/continuous-integration\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitLab CI<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Das Tool von GitLab kann nicht nur Continuous Integration, sondern auch Continuous Delivery und Continuous Deployment. Es ist sowohl m\u00f6glich, das Tool \u00fcber einen eigenen Host wie auch \u00fcber einen Cloud Host (Google Cloud, Azure, Amazon Web Host etc.) zu nutzen. Die Konfiguration findet \u00fcber eine YAML Datei statt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Bamboo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bamboo ist ein Continuous-Integration-Tool von Atlassian. Auch Bamboo basiert auf Java. Wie GitLab deckt Bamboo nicht nur CI, sondern auch Continuous Delivery und Continuous Deployment ab.<strong> <\/strong>Es kann \u00fcber die Cloud, aber auch mit eigenem Host verwendet werden und ist plattformunabh\u00e4ngig. Andere Atlassian Programme k\u00f6nnen selbstredend leicht integriert werden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/aws.amazon.com\/de\/codepipeline\/\" target=\"_blank\" rel=\"noreferrer noopener\">AWS CodePipeline<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">AWS deckt sowohl Continuous Integration wie Continuous Delivery ab. Es kann ausschlie\u00dflich \u00fcber die Cloud gehostet werden. \u00dcber vorhandene Plugins k\u00f6nnen Tools anderer Unternehmen integriert werden. Es k\u00f6nnen aber auch benutzerdefinierte Plugins implementiert werden. Selbstverst\u00e4ndlich ist die Integration anderer AWS Produkte problemlos m\u00f6glich.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/circleci.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">CircleCI<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">CircleCI ist FedRAMP-zertifiziert und SOC 2 Typ II-konform und l\u00e4sst sich mit GitHub verbinden. Auch hier findet die Konfiguration \u00fcber eine YAML Datei statt. CircleCI kann \u00fcber die Cloud oder selbst gehostet werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Was versteht man unter Continuous Integration? Ein Beispielszenario Stellen Sie sich folgendes Szenario vor: F\u00fcnf Personen bauen unabh\u00e4ngig voneinander an einem Haus. Als sie ihre Teilgebiete zusammenf\u00fchren m\u00f6chten, merken sie, dass die Bereiche, die sie gebaut haben, nicht zu den Bereichen der anderen passen.&nbsp; Die Suche beginnt: Wo steckt der Fehler oder die Fehler? Muss [&hellip;]<\/p>\n","protected":false},"author":39,"featured_media":3395,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[78,75],"class_list":["post-3394","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technik-wiki","tag-ad-lg","tag-allgemein"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.extracomputer.de\/ratgeber\/wp-json\/wp\/v2\/posts\/3394","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.extracomputer.de\/ratgeber\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.extracomputer.de\/ratgeber\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.extracomputer.de\/ratgeber\/wp-json\/wp\/v2\/users\/39"}],"replies":[{"embeddable":true,"href":"https:\/\/www.extracomputer.de\/ratgeber\/wp-json\/wp\/v2\/comments?post=3394"}],"version-history":[{"count":2,"href":"https:\/\/www.extracomputer.de\/ratgeber\/wp-json\/wp\/v2\/posts\/3394\/revisions"}],"predecessor-version":[{"id":8057,"href":"https:\/\/www.extracomputer.de\/ratgeber\/wp-json\/wp\/v2\/posts\/3394\/revisions\/8057"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.extracomputer.de\/ratgeber\/wp-json\/wp\/v2\/media\/3395"}],"wp:attachment":[{"href":"https:\/\/www.extracomputer.de\/ratgeber\/wp-json\/wp\/v2\/media?parent=3394"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.extracomputer.de\/ratgeber\/wp-json\/wp\/v2\/categories?post=3394"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.extracomputer.de\/ratgeber\/wp-json\/wp\/v2\/tags?post=3394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}