Benjamin Nothdurft
Software Craftsman, DevOps, @jenadevs @jugthde Founder/Speaker, Traveller & Cyclist – focusing on Continuous Delivery Pipelines, Automation, Docker, Selenium, Java
Ziel
Was ist eine Pipeline
Wie kann ich eine Pipeline gestalten
Was bietet mir Gitlab für mein DevOps Team?
Agenda
- Motivation
- High Level Pipelines
- Gitlab Pipelines mit AutoDevops
- Task: eigene Pipeline
- Ausgestaltung von Pipelines
- Tasks: Umgestaltung
Motivation
Collaboratives Arbeiten mit Gitlab
DevOps Cycle
Elemente einer Pipeline
Highlevel
Gitlab
- Entwicklung begann 2011
- OpenSource Variante (Community Edition)
- Enterprise Variante (Enterprise Edition)
- Kann selbst betrieben werden (Onpremise)
- Als Saas verfügbar
https://about.gitlab.com/features/
Features
Unser Plan
Eine Applikation produktiv setzen
Aufgaben tracken
Änderungen vornehmen
Pipelines
Gitlab Pipeline mit AutoDevops
image: <imagename:version>
variables:
<key> <value)
stages:
- build
- test
- deploy
- review
- dast
- staging
- canary
- production
- incremental rollout 10%
- incremental rollout 25%
- incremental rollout 50%
- incremental rollout 100%
- performance
- cleanup
job:
script:
- echo "i am a script"
workflow:
rules:
<if / exists>
include:
- template: <path>
Gitlab DSL
include:
- template: Auto-DevOps.gitlab-ci.yml
Gitlab AutoDevops Template
Siehe: https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml
Erste Pipeline
Demo
Miro
Text
Demo
Task 2
Miro
Canary Deployments
Incremental Rollout
Task 3
Miro
Security & Quality & Comliance
Task 4
Miro
Analytics
https://docs.gitlab.com/ee/user/analytics/
Value Stream
Task 5
Miro
Erreichte Ziele
Was ist eine Pipeline
Wie kann ich eine Pipeline gestalten
Was bietet mir Gitlab für mein DevOps Team?
By Benjamin Nothdurft
Software Craftsman, DevOps, @jenadevs @jugthde Founder/Speaker, Traveller & Cyclist – focusing on Continuous Delivery Pipelines, Automation, Docker, Selenium, Java