From b321881c32209ec3597b992f8f80141baceb3973 Mon Sep 17 00:00:00 2001 From: patrick hermann <47567770+patrick-hermann-sva@users.noreply.github.com> Date: Tue, 15 Oct 2024 11:12:54 +0200 Subject: [PATCH] Update cicd-gitops.md --- presentations/cicd-gitops.md | 85 +++++++++++++++++++++++++----------- 1 file changed, 60 insertions(+), 25 deletions(-) diff --git a/presentations/cicd-gitops.md b/presentations/cicd-gitops.md index 734290c..0796308 100644 --- a/presentations/cicd-gitops.md +++ b/presentations/cicd-gitops.md @@ -25,6 +25,11 @@ patrick.hermann@sva.de ## /CI-CD PIPELINE ![cicdcd](https://miro.medium.com/v2/resize:fit:786/format:webp/0*OC11hb1WJ-th-154.png) -- +## /CI-CD-CD +![cicdcd](https://www.redhat.com/rhdc/managed-files/styles/wysiwyg_full_width/private/ci-cd-flow-desktop.png.webp?itok=mDEvsSsp) +--- +# /CI +-- ## /CI ![cicdcd](https://miro.medium.com/v2/resize:fit:786/format:webp/0*IC_N9P4Eu1NO1UkE.png) -- @@ -37,42 +42,72 @@ patrick.hermann@sva.de ## /BRANCHING ![source](https://codefresh.io/wp-content/uploads/2023/07/use-short-branches.png) -- -## /CD -![source](https://codefresh.io/wp-content/uploads/2023/07/single-build-step.png) - -![source](https://codefresh.io/wp-content/uploads/2023/07/many-build-steps.png) - - - - - -## /CI-CD-CD -![cicdcd](https://www.redhat.com/rhdc/managed-files/styles/wysiwyg_full_width/private/ci-cd-flow-desktop.png.webp?itok=mDEvsSsp) +## /BUILD +[](https://www.sva.de/index.html) +-- +## /BUILD +[](https://www.sva.de/index.html) -- ## /STAGING ![staging](https://codefresh.io/wp-content/uploads/2023/07/same-artifact-for-all.png) +--- +# /GITOPS +-- +## /PUSH +![staging](https://blog.sparkfabrik.com/hs-fs/hubfs/Blog/cicd-push-based-deployment.png?width=2560&name=cicd-push-based-deployment.png) +-- +## /PULL +![staging](https://blog.sparkfabrik.com/hs-fs/hubfs/Blog/CI-CD-GitOps-Push-Based-Deployments.png?width=2560&name=CI-CD-GitOps-Push-Based-Deployments.png) +-- +## /DevOps vs GitOps +* GitOps is a development mechanism, which mainly focuses on automating and tracking environment changes in a declarative manner +* DevOps is a pipeline process, which mainly focuses on the operational aspects of software development +-- +## /imperative and declarative +* scripting of deployment operations (imperative) +* containerized apps (declarative) +* GitOps only allows declarative configuration . +-- +## /FLUX +[](https://www.sva.de/index.html) +-- +## /FLUX BOOSTRAP +``` +flux bootstrap github +--owner=$GITHUB_USER +--repository=fluxcd-demo +--branch=main +--path=./clusters/my-cluster +--personal +``` +-- +## /FLUX Kustomization +``` +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: cert-manager + namespace: flux-system +spec: + sourceRef: + kind: GitRepository + name: stuttgart-things-github + path: ./infra/cert-manager + postBuild: + substituteFrom: + - kind: Secret + name: vault-flux-secrets +``` -- ## /ARGOCD vs. FLUX -![staging](https://miro.medium.com/v2/resize:fit:1400/format:webp/0*0RwREBh9PBZDvy9a.png) +[](https://www.sva.de/index.html) -- -## /GITOPS TOOLS +## /GITOPS REPO FLOW ![staging](https://www.inovex.de/wp-content/uploads/2019/07/argocd-workflow.png) -- -## /GITOPS FLOW -![staging](https://codefresh.io/wp-content/uploads/2023/07/with-caching.png) --- ## /ARGO-CD ![staging](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*SHF6VyFUkqBiStSNgJ6NHQ.gif) -- -## /DevOps vs GitOps -* GitOps is a development mechanism, which mainly focuses on automating and tracking environment changes in a declarative manner. -* DevOps is a pipeline process, which mainly focuses on the operational aspects of software development. --- -## Imperative and declarative configurations -* DevOps can be both imperative and declarative. - * scripting of deployment operations(imperative) * containerized apps (declarative) -* GitOps only allows declarative configuration. --- ## /GitOps PullRequest * Changes to application configuration * Changes to container images