{"id":33504,"date":"2019-10-31T21:52:58","date_gmt":"2019-10-31T18:52:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom\/"},"modified":"2019-10-31T21:52:58","modified_gmt":"2019-10-31T18:52:58","slug":"rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","title":{"rendered":"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/2f9db2f057c4bcb3f2e57a484dd30c8c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Erstellung der ersten DevOps-Pipeline in f\u00fcnf Schritten f\u00fcr Anf\u00e4nger.<\/em><\/p>\n<p><\/p>\n<p>DevOps ist zur Wunderwaffe gegen zu langsame, fragmentierte und andere problematische Entwicklungsprozesse geworden. Aber es sind minimale Kenntnisse in DevOps erforderlich. Hier werden Konzepte wie die DevOps-Pipeline und deren Erstellung in f\u00fcnf Schritten behandelt. Dies ist kein vollst\u00e4ndiger Leitfaden, sondern lediglich eine \u201eSkizze\u201c, die erweitert werden kann. Lassen Sie uns mit der Geschichte beginnen.<\/p>\n<p><\/p>\n<h3 id=\"moe-znakomstvo-s-devops\">Mein Einstieg in DevOps<\/h3>\n<p><\/p>\n<p>Fr\u00fcher arbeitete ich mit Clouds bei Citi Group und entwickelte eine IaaS-Webanwendung zur Verwaltung der Cloud-Infrastruktur von Citi. Aber ich war immer daran interessiert, wie man die Entwicklungs-Pipeline optimieren und die Kultur unter den Entwicklern verbessern kann. Greg Lavender, unser technischer Direktor f\u00fcr Cloud-Architektur und -Infrastruktur, empfahl mir das Buch <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/dp\/B078Y98RG8\/\">Projekt \u201ePhoenix\u201c<\/a><\/noindex>. Es erkl\u00e4rt die Prinzipien von DevOps hervorragend und liest sich wie ein Roman.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>In der Tabelle auf der R\u00fcckseite wird gezeigt, wie oft Unternehmen neue Versionen ver\u00f6ffentlichen:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/bf\/1e\/2_\/bf1e2_l0g8wnb5nojb1n5ruwlsi.png\"><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/a723283e54f7614b6b92eab78509985d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Wie schaffen es Amazon, Google und Netflix, so viele Releases herauszubringen? Ganz einfach: Sie haben verstanden, wie man eine nahezu perfekte DevOps-Pipeline erstellt.<\/p>\n<p><\/p>\n<p>Bei uns bei Citi war alles ganz anders, bis wir auf DevOps umgestiegen sind. Damals hatte mein Team verschiedene Umgebungen, aber die Bereitstellung auf den Entwicklungserver geschah manuell. Alle Entwickler hatten nur Zugang zu einem einzigen Entwicklungserver, der auf IBM WebSphere Application Server Community Edition basierte. Bei gleichzeitigen Bereitstellungsversuchen fiel der Server aus, und wir mussten jedes Mal \u201eschmerzhafte\u201c Kompromisse finden. Au\u00dferdem hatten wir eine unzureichende Testabdeckung des Codes, einen zeitaufw\u00e4ndigen manuellen Bereitstellungsprozess und keine M\u00f6glichkeit, die Codebereitstellung anhand bestimmter Aufgaben oder Anforderungen des Kunden nachzuverfolgen.<\/p>\n<p><\/p>\n<p>Es war klar, dass schnell etwas getan werden musste, und ich fand einen gleichgesinnten Kollegen. Wir beschlossen, gemeinsam die erste DevOps-Pipeline zu erstellen \u2013 er richtete die virtuelle Maschine und den Tomcat-Anwendungsserver ein, w\u00e4hrend ich mich um Jenkins, die Integration mit Atlassian Jira und Bitbucket sowie die Testabdeckung k\u00fcmmerte. Das Projekt war erfolgreich: Wir automatisierten die gesamte Entwicklungs-Pipeline, erreichten nahezu 100 % ununterbrochene Verf\u00fcgbarkeit des Entwicklungservers, konnten die Testabdeckung nachverfolgen und verbessern, und der Git-Branch konnte an die Bereitstellung und die Jira-Aufgabe gebunden werden. Die meisten Werkzeuge, mit denen wir die DevOps-Pipeline aufbauten, waren Open Source.<\/p>\n<p><\/p>\n<p>Tats\u00e4chlich war die Kette vereinfacht, da wir nicht einmal erweiterte Konfigurationen mit Jenkins oder Ansible verwendet haben. Aber wir haben es geschafft. M\u00f6glicherweise ist das eine Folge des Prinzips <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Pareto_principle\">Pareto<\/a><\/noindex> (auch bekannt als 80\/20 Regel).<\/p>\n<p><\/p>\n<h3 id=\"kratkoe-opisanie-cepochki-devops-i-cicd\">Kurze Beschreibung der DevOps- und CI\/CD-Kette<\/h3>\n<p><\/p>\n<p>DevOps hat verschiedene Definitionen. DevOps, wie auch Agile, umfasst verschiedene Disziplinen. Aber die meisten w\u00fcrden der folgenden Definition zustimmen: DevOps ist eine Methode oder ein Lebenszyklus der Softwareentwicklung, deren Hauptprinzip darin besteht, eine Kultur zu schaffen, in der Entwickler und andere Mitarbeiter \"auf derselben Wellenl\u00e4nge\" sind, manuelle T\u00e4tigkeiten automatisiert werden, jeder das tut, was er am besten kann, die H\u00e4ufigkeit der Lieferungen steigt, die Produktivit\u00e4t zunimmt und die Flexibilit\u00e4t erh\u00f6ht wird.<\/p>\n<p><\/p>\n<p>Und obwohl allein Tools nicht ausreichen, um eine DevOps-Umgebung zu schaffen, sind sie unerl\u00e4sslich. Das wichtigste von ihnen ist die kontinuierliche Integration und kontinuierliche Lieferung (CI\/CD). In der Kette gibt es f\u00fcr jede Umgebung verschiedene Phasen (zum Beispiel DEV (Entwicklung), INT (Integration), TST (Test), QA (Qualit\u00e4tssicherung), UAT (Benutzertests), STG (Vorbereitung), PROD (Nutzung)), manuelle Aufgaben werden automatisiert, Entwickler k\u00f6nnen qualitativ hochwertigen Code erstellen, ihn bereitstellen und sich leicht anpassen.<\/p>\n<p><\/p>\n<p>Dieser Hinweis beschreibt, wie man in f\u00fcnf Schritten eine DevOps-Kette aufbaut, wie im Bild unten gezeigt, mit Hilfe von Open-Source-Tools.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/da\/zq\/qo\/dazqqoyxn3vv-o6p9crpsm9m_eu.jpeg\"><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/da2a6d8ed039f0b8e1ea8e1ba562696d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Kommen wir zur Sache.<\/p>\n<p><\/p>\n<h3 id=\"shag-1-platforma-cicd\">Schritt 1: CI\/CD-Plattform<\/h3>\n<p><\/p>\n<p>Zun\u00e4chst ben\u00f6tigen Sie ein CI\/CD-Tool. Jenkins ist ein Open-Source-CI\/CD-Tool, das in Java geschrieben ist und mit einer MIT-Lizenz versehen ist, das die Popularisierung der DevOps-Bewegung er\u00f6ffnet hat und de facto zum Standard f\u00fcr CI\/CD geworden ist.<\/p>\n<p><\/p>\n<p>Was ist Jenkins? Stellen Sie sich vor, Sie haben eine magische Fernbedienung f\u00fcr verschiedene Dienste und Tools. An sich ist ein CI\/CD-Tool wie Jenkins nutzlos, aber in Kombination mit verschiedenen Tools und Diensten wird es allm\u00e4chtig.<\/p>\n<p><\/p>\n<p>Neben Jenkins gibt es viele andere Open-Source-Tools, w\u00e4hlen Sie eines davon aus. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/fb\/ov\/dd\/fbovdd2kb_e8jkj1atm1ycuw3so.png\"><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/2bbe6af719b90da0eb0d367aae66d779.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>So sieht der DevOps-Prozess mit einem CI\/CD-Tool aus<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/es\/-3\/dj\/es-3djmmligdmtcuvicigopzt8e.jpeg\"><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/2410013c9e6030596a59f3ed7ae3a7e7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Sie haben ein CI\/CD-Tool auf Ihrem localhost, aber im Moment gibt es nichts zu tun. Lassen Sie uns zum n\u00e4chsten Schritt \u00fcbergehen.<\/p>\n<p><\/p>\n<h3 id=\"shag-2-upravlenie-versiyami\">Schritt 2: Versionsverwaltung<\/h3>\n<p><\/p>\n<p>Der beste (und wahrscheinlich einfachste) Weg, die Magie eines CI\/CD-Tools zu \u00fcberpr\u00fcfen, besteht darin, es mit einem Versionskontrollsystem (Source Control Management, SCM) zu integrieren. Warum ben\u00f6tigt man Versionskontrolle? Angenommen, Sie erstellen eine Anwendung. Sie schreiben sie in Java, Python, C++, Go, Ruby, JavaScript oder einer anderen Sprache, die es im \u00dcberfluss gibt. Das, was Sie schreiben, wird Quellcode genannt. Zun\u00e4chst, insbesondere wenn Sie allein arbeiten, k\u00f6nnen Sie alles in einem lokalen Verzeichnis speichern. Aber wenn das Projekt w\u00e4chst und mehr Leute mitarbeiten, ben\u00f6tigen Sie eine M\u00f6glichkeit, \u00c4nderungen im Code zu teilen und gleichzeitig Konflikte beim Zusammenf\u00fchren der \u00c4nderungen zu vermeiden. Au\u00dferdem m\u00fcssen Sie eine M\u00f6glichkeit haben, fr\u00fchere Versionen ohne Backups wiederherzustellen und das copy-paste-Verfahren f\u00fcr Code-Dateien zu vermeiden.<\/p>\n<p><\/p>\n<p>Hier kommt SCM ins Spiel. SCM speichert den Code in Repositories, verwaltet seine Versionen und koordiniert ihn unter den Entwicklern.<\/p>\n<p><\/p>\n<p>Es gibt viele SCM-Tools, aber de facto ist Git der Standard geworden. Ich empfehle, genau dieses zu verwenden, aber es gibt auch andere Optionen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/37555a476c27f7066e5648b9e9e4d90b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>So sieht die DevOps-Pipeline nach der Hinzuf\u00fcgung von SCM aus.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/am\/4o\/39\/am4o39ooera5tweytt3uyh80wlu.jpeg\"><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/040819b00dc608a9131856dd6a7d4a19.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Das CI\/CD-Tool kann das Hoch- und Runterladen von Quellcode und die Zusammenarbeit im Team automatisieren. Nicht schlecht? Aber wie machen wir daraus jetzt eine funktionierende Anwendung, die von Milliarden Nutzern geliebt wird?<\/p>\n<p><\/p>\n<h3 id=\"shag-3-instrument-avtomatizacii-sborki\">Schritt 3: Automatisierungstool f\u00fcr den Build-Prozess<\/h3>\n<p><\/p>\n<p>Es l\u00e4uft alles nach Plan. Sie k\u00f6nnen den Code hochladen und \u00c4nderungen im Versionskontrollsystem erfassen und auch Freunde einladen, mit Ihnen zu arbeiten. Aber Sie haben noch keine Anwendung. Damit es eine Webanwendung wird, muss sie kompiliert und in ein Paket zur Bereitstellung oder als ausf\u00fchrbare Datei gestartet werden. (Ein interpretierter Programmiersprache, wie JavaScript oder PHP, muss nicht kompiliert werden.)<\/p>\n<p><\/p>\n<p>Verwenden Sie ein Automatisierungstool f\u00fcr den Build-Prozess. Egal welches Tool Sie w\u00e4hlen, es wird den Code im erforderlichen Format zusammenstellen und die Reinigung, Kompilierung, Testung und Bereitstellung automatisieren. Die Build-Tools variieren je nach Sprache, aber meist werden folgende Open-Source-Varianten verwendet.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/cc6e958a82ac0676429da6c48e66910f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ausgezeichnet! Lassen Sie uns nun die Konfigurationsdateien des Automatisierungstools f\u00fcr den Build-Prozess in das Versionskontrollsystem einf\u00fcgen, damit das CI\/CD-Tool sie zusammenbauen kann.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/gl\/t1\/ii\/glt1ii73wdg2roq5fus-fzd0ury.jpeg\"><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/bba539d128425e7e3ddacdc6028d3604.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Es scheint alles in Ordnung zu sein. Aber wo bringen wir das jetzt hin?<\/p>\n<p><\/p>\n<h3 id=\"shag-4-server-veb-prilozheniy\">Schritt 4: Server f\u00fcr Webanwendungen<\/h3>\n<p><\/p>\n<p>Also haben Sie eine gepackte Datei, die ausf\u00fchrbar oder bereitstellbar ist. Damit die Anwendung wirklich n\u00fctzlich ist, sollte sie irgendeinen Service oder ein Interface haben, aber Sie m\u00fcssen das alles irgendwo unterbringen.<\/p>\n<p><\/p>\n<p>Eine Webanwendung kann auf einem Anwendungsserver bereitgestellt werden. Der Anwendungsserver bietet eine Umgebung, in der die Programmlogik aus dem Paket ausgef\u00fchrt, das Interface gerendert und Webdienste \u00fcber Sockets ge\u00f6ffnet werden k\u00f6nnen. Sie ben\u00f6tigen einen HTTP-Server und einige andere Umgebungen (wie eine virtuelle Maschine), um den Anwendungsserver einzurichten. Lassen Sie uns vorerst so tun, als h\u00e4tten Sie alles w\u00e4hrend des Prozesses im Griff (obwohl ich sp\u00e4ter \u00fcber Container sprechen werde).<\/p>\n<p><\/p>\n<p>Es gibt einige offene Anwendungsserver.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/v7\/-q\/tq\/v7-qtqzlpp5nvxlqz1oshw4mw1i.png\"><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/7802afe041a9d56c20ddbe2885b5cf37.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Wir haben bereits eine nahezu funktionierende DevOps-Kette erstellt. Gro\u00dfartige Arbeit!<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/lf\/wm\/rx\/lfwmrx3grlcbwb5s_olj33npn7o.jpeg\"><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/3d1e524b63fecebf4973cc34a40c160d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Im Prinzip k\u00f6nnte man hier aufh\u00f6ren, von nun an schaffen Sie es alleine, aber es lohnt sich, auch \u00fcber die Codequalit\u00e4t zu sprechen.<\/p>\n<p><\/p>\n<h3 id=\"shag-5-testovoe-pokrytie\">Schritt 5: Testabdeckung<\/h3>\n<p><\/p>\n<p>Tests zu erstellen, kostet viel Zeit und M\u00fche, aber es ist besser, Fehler sofort zu finden und den Code zu verbessern, um die Endbenutzer zu erfreuen. F\u00fcr diesen Zweck gibt es viele offene Werkzeuge, die nicht nur den Code testen, sondern auch Tipps geben, wie man ihn verbessern kann. Die meisten CI\/CD-Tools k\u00f6nnen sich mit diesen Werkzeugen verbinden und den Prozess automatisieren.<\/p>\n<p><\/p>\n<p>Das Testen ist in zwei Teile unterteilt: Testframeworks, um Tests zu schreiben und auszuf\u00fchren, und Werkzeuge mit Hinweisen zur Verbesserung der Codequalit\u00e4t.<\/p>\n<p><\/p>\n<h3 id=\"freymvorki-testirovaniya\">Testframeworks<\/h3>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/cu\/4l\/pn\/cu4lpnpdqa7yd9f5zwsxrrlbylg.png\"><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/c17426a30a4f140be87489d2c8b0d0b9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Werkzeuge mit Hinweisen zur Qualit\u00e4t<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ab\/g_\/oh\/abg_ohfxhtbprzhcicxos3jx4yg.png\"><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/bc65784b8bf5ccaaeef96a0c6ee4422e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Die meisten dieser Werkzeuge und Frameworks sind f\u00fcr Java, Python und JavaScript geschrieben, da C++ und C# propriet\u00e4r sind (obwohl GCC Open Source ist).<\/p>\n<p><\/p>\n<p>Wir haben Testabdeckungswerkzeuge angewendet, und nun sollte die DevOps-Pipeline wie auf dem Bild zu Beginn des Handbuchs aussehen.<\/p>\n<p><\/p>\n<h2 id=\"dopolnitelnye-shagi\">Zus\u00e4tzliche Schritte<\/h2>\n<p><\/p>\n<h3 id=\"konteynery\">Container<\/h3>\n<p><\/p>\n<p>Wie bereits erw\u00e4hnt, kann der Anwendungsserver entweder auf einer virtuellen Maschine oder einem Server bereitgestellt werden, aber Container sind beliebter.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-are-linux-containers\">Was sind Container<\/a><\/noindex>? \u0412\u043a\u0440\u0430\u0442\u0446\u0435, \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0435\u0441\u0442\u0430, \u0447\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443 \u043e\u0431\u044b\u0447\u043d\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0431\u0435\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u043d\u0435 \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c, \u043d\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0432\u043c\u0435\u0449\u0430\u0435\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0438\u0445 \u0437\u0430\u0442\u0440\u0430\u0442.<\/p>\n<p><\/p>\n<p>F\u00fcr Container werden normalerweise Docker und Kubernetes verwendet, obwohl es auch andere Optionen gibt.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/6n\/wc\/rc\/6nwcrcuhk9swwjxdddudr1cqpzc.png\"><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/8749b7044102ff7f23f2c970d6939246.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Lesen Sie die Artikel \u00fcber Docker und Kubernetes auf <noindex><a rel=\"nofollow\" href=\"http:\/\/opensource.com\/\">Opensource.com<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-docker\">Was ist Docker?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/business\/15\/1\/introduction-docker\">Einf\u00fchrung in Docker<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/what-is-kubernetes\">Was ist Kubernetes?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/17\/11\/kubernetes-lightning-talk\">Kubernetes von Grund auf<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"instrumenty-avtomatizacii-promezhutochnogo-po\">Middleware-Automatisierungswerkzeuge<\/h3>\n<p><\/p>\n<p>Unsere DevOps-Kette ist auf die gemeinsame Erstellung und Bereitstellung von Anwendungen ausgerichtet, aber mit DevOps-Tools kann man auch andere interessante Dinge tun. Zum Beispiel l\u00e4sst sich die Infrastruktur als Code (IaC) nutzen, die auch als Automatisierungstools f\u00fcr Middleware bezeichnet werden. Diese Tools helfen bei der Automatisierung der Installation, Verwaltung und anderen Aufgaben f\u00fcr Middleware. Zum Beispiel kann ein Automatisierungstool Anwendungen (Webanwendungsserver, Datenbank, \u00dcberwachungstools) mit den richtigen Konfigurationen abnehmen und sie auf den Anwendungsserver bereitstellen.<\/p>\n<p><\/p>\n<p>Hier sind einige Open-Source-Automatisierungstools f\u00fcr Middleware:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Anleitung f\u00fcr Einsteiger: Erstellen von DevOps-Pipelines mit Open-Source-Tools\" src=\"\/wp-content\/uploads\/2019\/05\/23bb3259f336a3f0ebf11ab4aa5471ea.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Details in den Artikeln auf <noindex><a rel=\"nofollow\" href=\"http:\/\/opensource.com\/\">Opensource.com<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/quickstart-guide-ansible\">Einsteigerleitfaden zu Ansible<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/automating-deployment-strategies-ansible\">Strategien zur Automatisierung des Deployments mit Ansible<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/12\/configuration-management-tools\">Die 5 besten Konfigurationsmanagement-Tools<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"i-chto-teper\">Und was jetzt?<\/h3>\n<p><\/p>\n<p>Das ist nur die Spitze des Eisbergs. Die DevOps-Kette kann viel mehr. Beginnen Sie mit einem CI\/CD-Tool und finden Sie heraus, was Sie sonst noch automatisieren k\u00f6nnen, um Ihre Arbeit zu erleichtern. Vergessen Sie nicht die <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/alternatives\/slack\">Open-Source-Kommunikationstools<\/a><\/noindex> f\u00fcr eine effektive Zusammenarbeit.<\/p>\n<p><\/p>\n<p>Hier sind noch einige gute Artikel \u00fcber DevOps f\u00fcr Anf\u00e4nger:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/resources\/devops\">Was ist DevOps<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/master-devops-engineer\">5 F\u00e4higkeiten eines DevOps-Entwicklers<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/11\/how-non-engineer-got-devops\">DevOps f\u00fcr alle<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/1\/getting-started-predictive-analytics-devops\">Einf\u00fchrung in die pr\u00e4diktive Analyse in DevOps<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Au\u00dferdem k\u00f6nnen Sie DevOps mit Open-Source-Tools f\u00fcr Agile integrieren:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/18\/10\/what-agile\">Was ist Agile?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.com\/article\/19\/2\/steps-agile-developer\">4 Schritte zur Beherrschung von Agile<\/a><\/noindex><\/li>\n<\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/451508\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 DevOps \u0437\u0430 \u043f\u044f\u0442\u044c \u0448\u0430\u0433\u043e\u0432 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432. DevOps \u0441\u0442\u0430\u043b \u043f\u0430\u043d\u0430\u0446\u0435\u0435\u0439 \u0434\u043b\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0445, \u0440\u0430\u0437\u043e\u0431\u0449\u0435\u043d\u043d\u044b\u0445 \u0438 \u043f\u0440\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u041d\u043e \u043d\u0443\u0436\u043d\u044b \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0437\u043d\u0430\u043d\u0438\u044f \u0432 DevOps. \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0442\u0430\u043a\u0438\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f, \u043a\u0430\u043a \u0446\u0435\u043f\u043e\u0447\u043a\u0430 DevOps \u0438 \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0435\u0435 \u0437\u0430 \u043f\u044f\u0442\u044c \u0448\u0430\u0433\u043e\u0432. \u042d\u0442\u043e \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u201c\u0440\u044b\u0431\u0430\u201d, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c. \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0438. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25204,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33504","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0446\u0435\u043f\u043e\u0447\u0435\u043a DevOps \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:52:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:52:58+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Einsteigerleitfaden: Erstellen von DevOps-Ketten mit Open-Source-Tools | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0447\u0430\u0439\u043d\u0438\u043a\u043e\u0432: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0446\u0435\u043f\u043e\u0447\u0435\u043a DevOps \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c | ProHoster","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/rukovodstvo-dlya-chajnikov-sozdanie-tsepochek-devops-s-pomoshhyu-instrumentov-s-otkrytym-ishodnym-kodom","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:52:58+00:00","article:modified_time":"2019-10-31T18:52:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33504","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 15:33:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:39:23","updated":"2026-01-21 15:33:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/33504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=33504"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/33504\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/25204"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=33504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=33504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=33504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}