Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:ausbildung:ci_cd_basislehrgang

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
de:ausbildung:ci_cd_basislehrgang [2024/04/24 13:03] – angelegt j.meyerde:ausbildung:ci_cd_basislehrgang [2024/05/16 14:06] (aktuell) j.meyer
Zeile 1: Zeile 1:
-===== CI/CD Basislehrgang =====+====== CI/CD Basislehrgang ======
  
 **Continuous Integration (CI)** und **Continuous Delivery (CD)** sind Praktiken in der Softwareentwicklung, die darauf abzielen, Softwareänderungen häufiger und zuverlässiger zu veröffentlichen. CI ist der Prozess, bei dem Entwickler ihre Änderungen in einen Hauptzweig integrieren, wobei jeder Check-in automatisch gebaut und getestet wird. Dies hilft dabei, Integrationsprobleme frühzeitig zu erkennen. CD erweitert CI, indem es sicherstellt, dass nach dem Passieren der Tests die Software in einer standardisierten Weise in Produktionsumgebungen ausgerollt werden kann. Die Kombination von CI und CD ermöglicht es Teams, Softwareentwicklungszyklen zu beschleunigen und die Qualität der Releases zu verbessern, indem manuelle Fehlerquellen und Verzögerungen reduziert werden. **Continuous Integration (CI)** und **Continuous Delivery (CD)** sind Praktiken in der Softwareentwicklung, die darauf abzielen, Softwareänderungen häufiger und zuverlässiger zu veröffentlichen. CI ist der Prozess, bei dem Entwickler ihre Änderungen in einen Hauptzweig integrieren, wobei jeder Check-in automatisch gebaut und getestet wird. Dies hilft dabei, Integrationsprobleme frühzeitig zu erkennen. CD erweitert CI, indem es sicherstellt, dass nach dem Passieren der Tests die Software in einer standardisierten Weise in Produktionsumgebungen ausgerollt werden kann. Die Kombination von CI und CD ermöglicht es Teams, Softwareentwicklungszyklen zu beschleunigen und die Qualität der Releases zu verbessern, indem manuelle Fehlerquellen und Verzögerungen reduziert werden.
Zeile 9: Zeile 9:
 Um ein neues Projekt zu starten, erstelle zuerst eine Gruppe, da dein Name Grossbuchstaben im Namespace enthält, und dies mit Docker nicht funktioniert. Um ein neues Projekt zu starten, erstelle zuerst eine Gruppe, da dein Name Grossbuchstaben im Namespace enthält, und dies mit Docker nicht funktioniert.
  
-{{ :infrastruktur:schulungen:pasted:20240423-130757.png }}+{{:de:ausbildung:pasted:20240424-130459.png}}
  
 Erstelle das Projekt auch unter der Gruppe! Klicke dazu auf **'New Project'** und wähle **'Create blank project'** aus. Vergib anschliessend dem Projekt einen passenden Namen. Mit einem Klick auf **'Create project'** gelangst du zur Arbeitsfläche deines Projekts. Erstelle das Projekt auch unter der Gruppe! Klicke dazu auf **'New Project'** und wähle **'Create blank project'** aus. Vergib anschliessend dem Projekt einen passenden Namen. Mit einem Klick auf **'Create project'** gelangst du zur Arbeitsfläche deines Projekts.
  
-{{ :infrastruktur:schulungen:unbenannt.png?900 }}+{{:de:ausbildung:pasted:20240424-130507.png}}
  
 ===== Projekt Hello World ===== ===== Projekt Hello World =====
Zeile 21: Zeile 21:
 Nun erstellst du entweder lokal mit deinem Editor deiner Wahl oder direkt in der Web-Oberfläche eine Datei. Dazu klickst du auf das "+" und dann auf "New File". Nun erstellst du entweder lokal mit deinem Editor deiner Wahl oder direkt in der Web-Oberfläche eine Datei. Dazu klickst du auf das "+" und dann auf "New File".
  
-{{ :infrastruktur:schulungen:testii.png?1300 }}+{{:de:ausbildung:pasted:20240424-130526.png}}
  
 Jetzt erstellst du eine neue Datei mit dem Namen **hello.py** und schreibst folgenden Code in den Editor: Jetzt erstellst du eine neue Datei mit dem Namen **hello.py** und schreibst folgenden Code in den Editor:
Zeile 36: Zeile 36:
 Anschliessend klickst du auf **'Commit Changes'** in der Web-Oberfläche oder führst ein **'git push'** und **'git commit'** für das Projekt durch. Anschliessend klickst du auf **'Commit Changes'** in der Web-Oberfläche oder führst ein **'git push'** und **'git commit'** für das Projekt durch.
  
-{{ :infrastruktur:schulungen:hello.png?800 }}+{{:de:ausbildung:pasted:20240424-130533.png}}
  
 Nun erstellst du eine zweite Datei nach demselben Prinzip und nennst sie nur Dockerfile ohne Endung. Durch die Dockerfile wird unser Projekt "dockerisiert". Das bedeutet, dass wir es in ein Docker-Image umwandeln. Dieses Image enthält alles, was unsere Anwendung braucht, um zu laufen, und kann auf jedem System mit Docker installiert werden. Nun erstellst du eine zweite Datei nach demselben Prinzip und nennst sie nur Dockerfile ohne Endung. Durch die Dockerfile wird unser Projekt "dockerisiert". Das bedeutet, dass wir es in ein Docker-Image umwandeln. Dieses Image enthält alles, was unsere Anwendung braucht, um zu laufen, und kann auf jedem System mit Docker installiert werden.
Zeile 54: Zeile 54:
 # final configuration # final configuration
 ENV FLASK_APP=hello ENV FLASK_APP=hello
-EXPOSE 8000+EXPOSE ****
 CMD flask run --host 0.0.0.0 --port **** CMD flask run --host 0.0.0.0 --port ****
 </code> </code>
  
-{{ :infrastruktur:schulungen:pasted:20240418-145802.png }}+{{:de:ausbildung:pasted:20240424-130544.png}}
  
 ===== Die Pipeline ===== ===== Die Pipeline =====
Zeile 66: Zeile 66:
 Nun gehst du links zu der Zeile in deinem Projekt und suchst nach "Build". Dort wählst du den "Pipeline-Editor" aus. Nun gehst du links zu der Zeile in deinem Projekt und suchst nach "Build". Dort wählst du den "Pipeline-Editor" aus.
  
-{{:infrastruktur:schulungen:pasted:20240423-134048.png}}+{{:de:ausbildung:pasted:20240424-130553.png}}
  
 Dort drückst du dann auf **'Configure Pipeline'** und schreibst dort diesen Code ein: Dort drückst du dann auf **'Configure Pipeline'** und schreibst dort diesen Code ein:
Zeile 151: Zeile 151:
   stage: test   stage: test
   tags:   tags:
-    - shell-testing+    - docker-testing
   resource_group: pipeline_lock   resource_group: pipeline_lock
   script:   script:
Zeile 177: Zeile 177:
 Nachdem du den Code eingefügt hast, klickst du auf "Commit Changes". Nachdem du den Code eingefügt hast, klickst du auf "Commit Changes".
  
-{{ :infrastruktur:schulungen:pasted:20240418-150835.png }}+{{:de:ausbildung:pasted:20240424-130619.png}}
  
 Nun gehst du links über dem Pipeline-Editor zu den Pipelines und solltest deine Pipeline sehen! Nun gehst du links über dem Pipeline-Editor zu den Pipelines und solltest deine Pipeline sehen!
  
-{{ :infrastruktur:schulungen:pasted:20240423-131916.png }}+{{:de:ausbildung:pasted:20240424-130629.png}}
  
 Hurra, deine erste Pipeline läuft! Jetzt gehe zu den Jobs und klicke auf die jeweiligen Jobs. Dort siehst du den Job-Log und kannst versuchen nachzuvollziehen, was genau dort ausgeführt wird. Hurra, deine erste Pipeline läuft! Jetzt gehe zu den Jobs und klicke auf die jeweiligen Jobs. Dort siehst du den Job-Log und kannst versuchen nachzuvollziehen, was genau dort ausgeführt wird.
  
-{{ :infrastruktur:schulungen:pasted:20240423-131453.png }}+{{:de:ausbildung:pasted:20240424-130634.png}}
  
 Du kannst die bereitgestellte Webanwendung unter http://test.rafisa.test:(dein Port) erreichen. Du kannst die bereitgestellte Webanwendung unter http://test.rafisa.test:(dein Port) erreichen.
  
-{{ :infrastruktur:schulungen:pasted:20240423-132047.png }}+{{:de:ausbildung:pasted:20240424-130640.png}}
  
 ===== Abschluss und Zugriff ===== ===== Abschluss und Zugriff =====
  
 Herzlichen Glückwunsch! Du hast nun erfolgreich den Basislehrgang zu GitLab durchlaufen und bist berechtigt, Continuous Integration und Continuous Deployment (CI/CD) zu nutzen. Dies ermöglicht dir, automatisierte Arbeitsabläufe zu erstellen, um deine Projekte schneller und effizienter zu entwickeln, zu testen und bereitzustellen. Aber das ist noch nicht alles! Mit CI/CD kannst du noch viel mehr erreichen. Du kannst komplexe Pipelines konfigurieren, automatisierte Tests integrieren, Deployments automatisieren und vieles mehr. Diese Tools sollten deine Arbeit nun erheblich erleichtern. Nutze die Gelegenheit, den Pipeline-Code zu optimieren und in dein Projekt zu integrieren. Viel Erfolg dabei! Herzlichen Glückwunsch! Du hast nun erfolgreich den Basislehrgang zu GitLab durchlaufen und bist berechtigt, Continuous Integration und Continuous Deployment (CI/CD) zu nutzen. Dies ermöglicht dir, automatisierte Arbeitsabläufe zu erstellen, um deine Projekte schneller und effizienter zu entwickeln, zu testen und bereitzustellen. Aber das ist noch nicht alles! Mit CI/CD kannst du noch viel mehr erreichen. Du kannst komplexe Pipelines konfigurieren, automatisierte Tests integrieren, Deployments automatisieren und vieles mehr. Diese Tools sollten deine Arbeit nun erheblich erleichtern. Nutze die Gelegenheit, den Pipeline-Code zu optimieren und in dein Projekt zu integrieren. Viel Erfolg dabei!
de/ausbildung/ci_cd_basislehrgang.1713956614.txt.gz · Zuletzt geändert: 2024/04/24 13:03 von j.meyer