{"id":202586,"date":"2025-03-03T18:30:00","date_gmt":"2025-03-03T17:30:00","guid":{"rendered":"https:\/\/liora.io\/de\/?p=202586"},"modified":"2026-02-06T05:46:20","modified_gmt":"2026-02-06T04:46:20","slug":"was-ist-circleci","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/was-ist-circleci","title":{"rendered":"Was ist CircleCI? Einf\u00fchrung in die kontinuierliche Integration und Automatisierung"},"content":{"rendered":"<b>CircleCI ist eine Plattform f\u00fcr kontinuierliche Integration und Bereitstellung (CI\/CD). Gegr\u00fcndet im Jahr 2011 und bewertet mit 1,7 Milliarden Dollar im Jahr 2021, ist diese L\u00f6sung heute eine der beliebtesten CI\/CD-Plattformen weltweit.<\/b>\n\nMit CircleCI k\u00f6nnen Entwickler ihren Code schnell und zuverl\u00e4ssig erstellen, testen und bereitstellen. Heute bedient das Unternehmen Tausende von Organisationen weltweit, von Startups bis hin zu gro\u00dfen Unternehmen, indem es ihnen Flexibilit\u00e4t und Leistung bietet, die f\u00fcr alle Arten von Projekten geeignet sind.\n\n<style><br \/>\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style>\n<h3>Aber was ist eigentlich CI\/CD?<\/h3>\n<style><br \/>\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image3-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image3-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image3-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image3-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n\n<a href=\"https:\/\/liora.io\/de\/continuous-integration-ci-und-continuous-delivery-cd\" target=\"_blank\" rel=\"noopener\">CI\/CD<\/a> steht f\u00fcr &#8222;<b>Continuous Integration \/ Continuous Delivery&#8220;<\/b>&nbsp;(kontinuierliche Integration \/ kontinuierliche Bereitstellung) und ist eine Entwicklungspraxis, die darauf abzielt, die Phasen des Lebenszyklus einer Anwendung zu automatisieren. Sie erm\u00f6glicht es, menschliche Fehler zu reduzieren, die Lieferzeiten zu beschleunigen und die Anwendungsqualit\u00e4t zu verbessern.\n<ul>\n \t<li><b>Die kontinuierliche Integration (CI)<\/b> bedeutet, dass der von verschiedenen Teammitgliedern geschriebene Code regelm\u00e4\u00dfig in ein zentrales Repository integriert wird. Jede \u00c4nderung wird automatisch getestet, um sicherzustellen, dass keine Fehler oder Inkompatibilit\u00e4ten entstehen.<\/li>\n \t<li><b>Die kontinuierliche Bereitstellung (CD)<\/b> automatisiert die Lieferung des validierten Codes ohne manuellen Eingriff.<\/li>\n<\/ul>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/continuous-integration-ci-und-continuous-delivery-cd\">Lerne mehr \u00fcber dieses Tool<\/a><\/div><\/div>\n\n<h3>Hauptfunktionen<\/h3>\nCircleCI bietet eine breite Palette von Tools und Integrationen, die entwickelt wurden, um den Entwicklungsprozess zu automatisieren, zu optimieren und zu sichern und dabei eine effiziente kontinuierliche Lieferung zu gew\u00e4hrleisten.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image12.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image12.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image12-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image12-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Flexible Workflows<\/font><\/h4>\nEs erm\u00f6glicht das Orchestrieren komplexer Pipelines mit bedingten Abh\u00e4ngigkeiten. Dies optimiert Tests und Bereitstellungen, was Zeit spart.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image5-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image5-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image5-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image5-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Ausf\u00fchrung in der Cloud<\/font><\/h4>\nBietet skalierbare Cloud-Umgebungen \u00fcber <a href=\"https:\/\/liora.io\/de\/virtuelle-maschine-definition-verwendung-und-vorteile\" target=\"_blank\" rel=\"noopener\">virtuelle Maschinen<\/a> oder <a href=\"https:\/\/liora.io\/de\/docker-schulung-lernen-die-container-plattform-zu-nutzen\" target=\"_blank\" rel=\"noopener\">Docker<\/a>.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image15.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image15.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image15-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image15-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Parallelisierung von Builds<\/font><\/h4>\nTeilt Aufgaben auf, um Tests und Builds zu beschleunigen und so die Verarbeitungszeit zu verk\u00fcrzen.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image14.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image14.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image14-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image14-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Multi-Umgebungsunterst\u00fctzung<\/font><\/h4>\nUnterst\u00fctzt verschiedene Sprachen, <a href=\"https:\/\/liora.io\/de\/alles-ueber-go-frameworks\" target=\"_blank\" rel=\"noopener\">Frameworks<\/a> und Umgebungen.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image11.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image11.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image11-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image11-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Bereitstellungsautomatisierung<\/font><\/h4>\nIntegration mit Tools wie <a href=\"https:\/\/liora.io\/de\/kubernetes-schulung-lerne-dieses-orchestrierungswerkzeug-zu-nutzen\" target=\"_blank\" rel=\"noopener\">Kubernetes<\/a> und <a href=\"https:\/\/liora.io\/de\/terraform-gcp-fuer-die-bereitstellung-der-infrastruktur-nutzen\" target=\"_blank\" rel=\"noopener\">Terraform<\/a>.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image4-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image4-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image4-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image4-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Intelligentes Caching<\/font><\/h4>\nAbh\u00e4ngigkeiten werden zwischengespeichert, um ihren erneuten Download zu vermeiden.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image7-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image7-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image7-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image7-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Sicherheit und Konformit\u00e4t<\/font><\/h4>\nVerschl\u00fcsselung von Daten, feink\u00f6rnige Berechtigungen und Pipeline-Audits.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image9.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image9.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image9-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image9-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Kontinuierliche Tests und Berichterstattung<\/font><\/h4>\nIntegration mit Testtools und Erstellung detaillierter Berichte.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image6-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image6-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image6-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image6-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">\u00dcberwachung und Einsichten<\/font><\/h4>\nAnalytische Dashboards zur \u00dcberwachung der Pipeline-Leistung.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image8.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image8.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image8-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image8-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<h4><font size=\"4\">Integration mit Git<\/font><\/h4>\nKompatibel mit <a href=\"https:\/\/liora.io\/de\/github\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>, <a href=\"https:\/\/liora.io\/de\/gitlab-alles-ueber-das-git-repository-fuer-devops\" target=\"_blank\" rel=\"noopener\">GitLab<\/a> und Bitbucket zur Automatisierung von CI\/CD-Workflows.\n<h3>Einrichtung von CircleCI<\/h3>\nDie Erstkonfiguration ist einfach und schnell und kompatibel mit GitHub, GitLab oder Bitbucket.\n<h4><font size=\"4\">1. Vor der Installation<\/font><\/h4>\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Zuallererst ist es notwendig, ein Konto auf einer kompatiblen Code-Verwaltungsplattform zu haben (<b>GitHub, GitLab oder Bitbucket<\/b>). Ebenso ein Konto bei <a href=\"\/\" target=\"_blank\" rel=\"noopener\">CircleCI<\/a>, das mit dem von dir verwendeten Repository verbunden ist.<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Es ist notwendig, eine Konfigurationsdatei config.yml in einem .circleci-Ordner im Stammverzeichnis des Repositories zu haben.<\/li>\n<\/ul>\n<h4><font size=\"4\">2. Projektanmeldung<\/font><\/h4>\nAchte darauf, die angeforderten Berechtigungen von der CircleCI-Website zu erteilen, damit es auf deine Repositories zugreifen kann. Um ein neues Projekt hinzuzuf\u00fcgen, klicke auf \u201eProjekt einrichten\u201c, wie im unten gezeigten Screenshot:\n\n<img decoding=\"async\" width=\"1277\" height=\"128\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image16.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image16.webp 1277w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image16-300x30.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image16-1024x103.webp 1024w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image16-768x77.webp 768w\" sizes=\"(max-width: 1277px) 100vw, 1277px\">\n\nW\u00e4hle eine Integrationsmethode aus, in diesem Beispiel handelt es sich um \u201e<b>Fast<\/b>\u201c.\n\n<img decoding=\"async\" width=\"438\" height=\"336\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image10.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image10.webp 438w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image10-300x230.webp 300w\" sizes=\"(max-width: 438px) 100vw, 438px\">\n\nEine Konfigurationsdatei wird automatisch erstellt.\n\n<a href=\"https:\/\/liora.io\/de\/automatisierungsskript\" target=\"_blank\" rel=\"noopener\">\nSchon mal von Automatisierungsskript geh\u00f6rt?\n<\/a>\n<h4><font size=\"4\">3. Die Konfigurationsdatei<\/font><\/h4>\nIn unserem Beispiel sieht die erstellte Konfigurationsdatei folgenderma\u00dfen aus:\n<pre>version: 2.1\norbs:\n &nbsp;python: circleci\/python@2.1.1\njobs:\n &nbsp;build-and-test:\n &nbsp;&nbsp;&nbsp;docker:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- image: cimg\/python:3.12\n &nbsp;&nbsp;&nbsp;steps:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- checkout\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- python\/install-packages:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pkg-manager: pip\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- run:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: Run tests\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command: pytest\nworkflows:\n &nbsp;sample:&nbsp;\n &nbsp;&nbsp;&nbsp;jobs:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- build-and-test<\/pre>\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Die erste Zeile betrifft die von CircleCI verwendete Schema-Version.<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Die <b>orbs<\/b> sind wiederverwendbare Pakete, die vorkonfigurierte CircleCI-Konfigurationen enthalten. Sie erm\u00f6glichen die schnelle Integration spezifischer Tools oder Sprachen, ohne die Konfiguration neu schreiben zu m\u00fcssen.<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Die <b>jobs<\/b> sind Arbeitseinheiten. Sie enthalten eine Reihe von <b>steps<\/b>, die in einer spezifischen Umgebung ausgef\u00fchrt werden. In diesem Fall beinhaltet der Job <b>build-and-test<\/b> ein Element <b>docker<\/b>, das die Ausf\u00fchrungsumgebung des Jobs definiert (hier handelt es sich um ein von CircleCI bereitgestelltes Docker-Image) und ein <b>step<\/b>-Element, das weiter unten beschrieben wird.<\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Die Schritte (<b>steps<\/b>) definieren die auszuf\u00fchrenden Aktionen im Rahmen eines Jobs:\n<ul>\n \t<li aria-level=\"1\"><b>checkout<\/b>: Ruft den Quellcode aus dem Repository ab, um ihn in der CircleCI-Umgebung verf\u00fcgbar zu machen.<\/li>\n \t<li aria-level=\"1\"><b>python\/install-packages<\/b>: Dieser Befehl installiert die erforderlichen Abh\u00e4ngigkeiten mit dem Paketmanager <b>pip<\/b>.<\/li>\n \t<li aria-level=\"1\"><b>run<\/b>: F\u00fchrt einen Befehl innerhalb des Jobs aus. <b>Pytest<\/b> wird hier verwendet, um Unit-Tests durchzuf\u00fchren.<\/li>\n<\/ul>\n<\/li>\n \t<li aria-level=\"1\">Schlie\u00dflich sind die <b>workflows<\/b> ein Satz von Jobs, die in einer definierten Reihenfolge ausgef\u00fchrt werden:\n<ul>\n \t<li aria-level=\"1\"><b>sample<\/b>: Name des Workflows<\/li>\n \t<li aria-level=\"1\"><b>jobs<\/b>: Liste der im Workflow auszuf\u00fchrenden Jobs<\/li>\n<\/ul>\n<\/li>\n<\/ul>\nGegebenenfalls k\u00f6nnen wir die folgenden \u00c4nderungen vornehmen:\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Um die erneute Installation der Pakete bei jeder Ausf\u00fchrung zu vermeiden (und somit die Build-Zeit zu verk\u00fcrzen), kann ein Cache-Management implementiert werden:<\/li>\n<\/ul>\n<pre>- restore_cache:\n &nbsp;&nbsp;&nbsp;keys:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- v1-dependencies-{{ checksum \"requirements.txt\" }}\n- python\/install-packages:\n &nbsp;&nbsp;&nbsp;pkg-manager: pip\n- save_cache:\n &nbsp;&nbsp;&nbsp;key: v1-dependencies-{{ checksum \"requirements.txt\" }}\n &nbsp;&nbsp;&nbsp;paths:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- ~\/.cache\/pip<\/pre>\nSo wird CircleCI versuchen, einen vorhandenen Cache basierend auf dem Hash der Datei <b>requirements.txt<\/b> wiederherzustellen. Wenn dieser verf\u00fcgbar ist, wird er abgerufen, andernfalls wird er \u00fcber <b>pip<\/b> installiert.\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\">Wenn die Anwendung in die Produktion geht, k\u00f6nnen wir nach erfolgreichem Test eine automatisierte Bereitstellung hinzuf\u00fcgen:<\/li>\n<\/ul>\n<pre>workflows:\n &nbsp;version: 2\n &nbsp;deploy:\n &nbsp;&nbsp;&nbsp;jobs:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- build-and-test\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- deploy:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;requires:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- build-and-test\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filters:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;branches:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;only: main<\/pre>\n<h4><font size=\"4\">4. Cloud-Integration<\/font><\/h4>\nCircleCI l\u00e4sst sich nahtlos in Cloud-Infrastrukturen integrieren, sei es <a href=\"https:\/\/liora.io\/de\/amazon-web-service-aws-microsoft-azure-oder-google-cloud-platform-gcp\">Azure, AWS oder GCP<\/a>. Hier werden wir eine AWS-Integration durchf\u00fchren.\nUm es einfach zu machen, sollte zun\u00e4chst ein <b>orb<\/b> hinzugef\u00fcgt werden, der wie folgt ist:\n<pre>aws-cli: circleci\/aws-cli@4.1.1<\/pre>\nSowie ein <b>job<\/b>, der wie im folgenden Beispiel aussieht:\n<pre>deploy-to-aws:\n &nbsp;&nbsp;&nbsp;docker:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- image: cimg\/python:3.12\n &nbsp;&nbsp;&nbsp;steps:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- attach_workspace:&nbsp;\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at: \/home\/circleci\/project\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- aws-cli\/setup\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- run:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: Configure AWS credentials\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command: |\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aws configure set default.region $AWS_DEFAULT_REGION\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- run:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: Deploy application to S3\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command: |\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aws s3 cp \/home\/circleci\/project\/ s3:\/\/$AWS_S3_BUCKET_NAME --recursive\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- run:\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name: Clear AWS credentials (for security)\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command: rm -f ~\/.aws\/credentials<\/pre>\nDie vorhandenen Umgebungsvariablen (erkennbar am Zeichen <b>$<\/b>) m\u00fcssen zuvor in den CircleCI-Einstellungen erstellt werden.\n\n<a href=\"https:\/\/liora.io\/de\/power-automate\" target=\"_blank\" rel=\"noopener\">\nNutzt Du Power Automate?\n<\/a>\n<h3>Best Practices f\u00fcr CI\/CD<\/h3>\nCircleCI empfiehlt mehrere Best Practices zur Optimierung von CI\/CD-Pipelines.\n\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image1-1.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image1-1.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image1-1-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image1-1-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n<img decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image13.webp\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image13.webp 512w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image13-300x300.webp 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2025\/02\/image13-150x150.webp 150w\" sizes=\"(max-width: 512px) 100vw, 512px\">\n\nDer CI\/CD-Prozess sollte als essentiell f\u00fcr jedes Entwicklungsteam angesehen werden.\n\nManuelle Prozesse vermeiden, die die Entwicklung verlangsamen.\n\nKonfigurationen wiederverwenden und Cache-Strategien implementieren.\n\nDie Konfigurationen nicht duplizieren und bei jedem Build systematisch die Abh\u00e4ngigkeiten herunterladen.\n\nDie CircleCI-Orbs verwenden, um wiederkehrende Aufgaben zu automatisieren.\n\nRedundante Konfigurationen nicht manuell f\u00fcr jedes Projekt schreiben.\n\nDie Pipelines sichern, indem private Umgebungsvariablen, mehrere Kontexte und administrative Kontrollen verwendet werden.\n\nSensible Informationen nicht in den Projektkonfigurationsdateien speichern.\n\nEine hohe Testabdeckung aufrechterhalten, indem Partner-Tools integriert werden (zum Beispiel Codecov, Cypress oder SonarCloud).\n\nCode nicht ohne Tests oder ohne \u00dcberpr\u00fcfung der Testabdeckung bereitstellen.\n\nAutomatisierte Benachrichtigungen mit Slack verwenden, um den Status der Pipelines zu verfolgen und schnell auf Fehler zu reagieren.\n\nKeine Benachrichtigungen einrichten, was zu Verz\u00f6gerungen bei der Erkennung von Problemen f\u00fchren kann.\n\nBeliebte Orbs wie Node, AWS-CLI und Python verwenden, um die Konfigurationen und die cloudbasierte Bereitstellung zu erleichtern.\n\nJedes Tool nicht manuell konfigurieren, um Fehler und Inkonsistenzen zu vermeiden.\n\nDie Metriken der Pipelines analysieren, um Engp\u00e4sse zu identifizieren und die Effizienz der Workflows zu verbessern.\n\nDie Leistung der Pipelines \u00fcberwachen, um die Bereitstellungen nicht zu verlangsamen.\n<h3>Fazit<\/h3>\nCircleCI ist eine <b>leistungsstarke und flexible<\/b> L\u00f6sung, die die Automatisierung und Optimierung von CI\/CD-Prozessen erm\u00f6glicht.\n\n<a href=\"https:\/\/liora.io\/de\/weiterbildung-zum-devops\">\nBilde Dich mit uns weiter\n<\/a>","protected":false},"excerpt":{"rendered":"<p>CircleCI ist eine Plattform f\u00fcr kontinuierliche Integration und Bereitstellung (CI\/CD). Gegr\u00fcndet im Jahr 2011 und bewertet mit 1,7 Milliarden Dollar im Jahr 2021, ist diese L\u00f6sung heute eine der beliebtesten CI\/CD-Plattformen weltweit. Mit CircleCI k\u00f6nnen Entwickler ihren Code schnell und zuverl\u00e4ssig erstellen, testen und bereitstellen. Heute bedient das Unternehmen Tausende von Organisationen weltweit, von Startups [&hellip;]<\/p>\n","protected":false},"author":78,"featured_media":202588,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-202586","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/202586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=202586"}],"version-history":[{"count":5,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/202586\/revisions"}],"predecessor-version":[{"id":216786,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/202586\/revisions\/216786"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/202588"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=202586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=202586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}