Java Training Block 11+12 – Tag 10: Pipelines/CICD
Ich nehme derzeit an einer Akademie zum Java Fullstack Software Engineer teil. In den kommenden Wochen möchte ich hier meine Mitschrift, so gut es geht, aufzeichnen und mitteilen. Hier ist das, was ich vom zehnten Tag in Block 11+12 (wir springen etwas hin und her) gelernt und behalten habe:
Git Workflow Zusammenfassung
Wenn ich ein Projekt in Gitlab oder Github erstellen möchte, bietet es sich an, dies wie folgt zu machen:
Ich erstelle ein lokales Projekt in einer Bash oder in IntelliJ. Dort kann auch schon der erste Inhalt erfolgen. Zusätzlich erstelle ich ein leeres Repository in Github.
Die folgenden lokalen Befehle beschreiben wie beide Projekte miteinander verknüpft werden:
Und hier in Text-Form:
git initgit config --global user.name "Hans-Joachim Blanke"
git config --global user.email "joachim@gitlab.i4p.loc"
Browser: http://gitlab.i4p.loc/joachim
Create new empty project: ueb-geometie-git-workflow
git remote rename origin old-origin //optional
git remote add origin http://dev.i4p.loc/joachim/ueb-geometie-git-workflow.git
git push -u origin --all
git push -u origin --tags
git push --set-upstream origin main
- Branches
Ueb-Branches (Geometrie)
Branch-Kommandos:
git branch // Zeige alle Branches an
git branch [branch_name] // Lege neuen Branch an
git checkout [branch_name] // Wechsel Working-Directory
git merge [from name] // Merge Branch
git branch -d [name] // Delete Branch
Pipelines / CICD
Links:
- https://docs.gitlab.com/ee/ci/quick_start/
- https://docs.gitlab.com/ee/ci/examples/
- https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates
- https://testdriven.io/blog/gitlab-ci-docker/
- https://docs.gitlab.com/ee/ci/examples
- https://gitlab.com/gitlab-examples/spring-gitlab-cf-deploy-demo/-/blob/master/.gitlab-ci.yml
- https://torlenor.org/linux/k8s/devops/2020/12/23/deployment_on_k8s_from_gitlab_cicd.html
- https://docs.gitlab.com/ee/ci/docker/using_docker_images.html
- https://about.gitlab.com/blog/2018/02/05/test-all-the-things-gitlab-ci-docker-examples/
- https://gableroux.com/posts/2018-01-16-test-all-the-things-in-gitlab-ci-with-docker-by-example/
Struktur eines Gitlab-Servers und ein Gitlab-Runners:
Im Gitlab Runner laufen verschiedene Shell-Scripte.
Die Gitlab-Runner registrieren sich an Gitlab-Token.
Der jeweilige Runner wird nach der Registrierung den jeweiligen Projekten zur Verfügung gestellt.
Hier ein Auszug aus einer .gitlab-ci.yml:
Die Pipeline durchläuft mehrere Stages und damit mehrere Jobs. Diese Jobs laufen meistens in eigenen Docker-Containern:
Die Gitruner sorgen dafür, dass die einzelnen Jobs durchgeführt werden:
Praxis-Tipp: Der Gitlab-Runner-User hat ein paar Dateien, die manchmal zu merkwürdigen Fehlermeldungen führen. Die sollten wir rausschmeißen:
Installation vom Gitlab-Runner:
Runner erstellen für ein Projekt:
Im Hintergrund sieht der Registrierungsprozess wie folgt aus (die "Zu Fuß-Methode"):
Dadurch wird ein neuer Runner ("mylocrunner") erstellt und im Gitlab angezeigt. Dort muss er noch aktiviert werden:
Disclaimer
Alles was ich mitschrieb und verstanden habe ist ohne Gewähr. Die Bilder stammen teilweise aus dem Internet und wir haben keine Urheberansprüche darauf.
Besten Dank an unseren sehr empfehlenswerten
Trainer: Hans-Joachim Blanke blanke@4point.de
In den nächsten Tagen geht es weiter, so: stay tuned!
Achim Mertens
Leave Java Training Block 11+12 – Tag 10: Pipelines/CICD to:
Read more #cicd posts
Best Posts From Achim Mertens
We have not curated any of achimmertens's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From Achim Mertens
- My Diary For Week 27
- My Diary For Week 26
- Mein IAM+PAM System auf dem Raspberry Pi
- My Diary For Week 25
- Wanderung zum Rothen Kreuz in der Eifel - Hiking in the Eifel (Germany)
- My Diary For Week 24
- My Diary For Week 24
- Backup und Restore meines Raspberry Pi mit Openclaw
- Openbao - ein Opensource Schlüsseltresor
- Mythen und Fakten zu Wärmepumpen