SlideShare a Scribd company logo
1 of 22
Download to read offline
Copyright © SUSE 2021
Code Factory
3 FÉVRIER 2022
Benoît Loriot
Brice Dekany
Julien Niedergang
Code Factory Run
Copyright © SUSE 2021
Agenda
1. SUSE / Rancher
2. Intégration Continue
3. Démo
Synchronisation des montres:
Café-croissant Harvester Vendredi 4 Février 9h30 à 10h00
Rancher Rodéo n°7 Vendredi 18 Mars 9h30 à 12h00
L'affaire CentOS Mercredi 23 Mars 9h30 à 10h00
Copyright © SUSE 2021
Portfolio SUSE
Hybrid
Cloud
Infrastructure
Dev Datacenter Branch
Cloud Edge
Support
&
Services
Catalog
Security
Storage
Governance
The platform for managing all Kubernetes distributions
Datacenter Edge
Block Storage
Linux SLE Desktop / POS
SLE Server
SLES for SAP Applications
SLES for HPC
SLE Micro
SLE Extensions
SUSE Manager
SUSE Linux Enterprise
Compliance
Security
Availability
Management
The only adaptable Linux operating system Other Linux
Cloud-native HCI
Security
Copyright © SUSE 2021
Copyright © SUSE 2021
Définition et Architecture
Intégration Continue
Copyright © SUSE 2021
Objectif de l’intégration continue
Suis-je en
mode
aléatoire?
Aussitôt que le
code est poussé…
il est intégré pour
validation
Intégration Continue
Scénario
Hmm… Pas mal
cette modif…
Evaluation
Code
Copyright © SUSE 2021
Glossaire de l’intégration continue
Cycle de vie
applicatif
Installation des
applications et de leur
dépendance.
Cycle de vie des
applications et de leurs
composants.
Helm
Kustomize
Dépôt de code
Outil central pour tous les
développeurs
Gestion collaborative du
code des applications
Github
Gitlab
Intégration Continue
Orchestration
Registre
Stockage et mise à
disposition des images
de conteneurs
Les images contiennent
les exécutables pour les
applications
Harbor
Docker registry
Nexus
Forge
Assemblage de
l’application et
construction d’une image
de conteneur
Résultat stocké dans un
registre
Gitlab-CI
Jenkins
Tekton
Copyright © SUSE 2021
Code Factory and Applications
Today's classical customer architecture
Commit code
Build
image
Push to
registry
Scan
image
Deploy
application
Test and
Qualify
Produce
1 2 3 4 5 … rolling ...
Production
Code
Forge
Container Image
Compiler
Continuous
Integration
Gitlab
Security Scans
Neuvector
2
4
Image Registry
Container Image
Storage
3
Deployment
Kubernetes
1
Evaluate Code
Rancher Desktop
5
²
Copyright © SUSE 2021 8
SUSE Rancher SLA Coverage & Ready Partners
App Management & CI/CD
Monitoring & Logging
Registry & Image Scanning
Container Security & Secrets
Networking & Service Mesh
Platforms & Orchestration
Persistent Storage
Container Engine
Operating Systems
Infrastructure
SUSE Rancher SLA SUSE Rancher Ready Partners
Authentication & Authorization
GK
E
AK
S
*
*
*
*
* Requires separate subscription
Copyright © SUSE 2021
Copyright © SUSE 2021
Choix d'architecture
Architecture
Copyright © SUSE 2021
Architecture – Code Factory
Services
Repos - Packages
packages for OS
Registry
Harbor
NTP
Repos - Code
Gitlab
Load Balancer
2 VIPs
Shared Storage
Type/version du stockage
DNS
1 x FQDN Mgmt
1 x FQDN (wildcard?) vers workers
Accès
Liste des ouvertures réseau nécessaire
Proxy
Container Network Infrastructure
Calico, Canal…
Hyperviseur
(VMs)
LAN Network
Rancher Server
(Management)
4 vCPU
8GB RAM
1 x 50GB vDisk
1 x vNic
Rancher Mgmt
(VM)
3 x
Code repository
Continuous Integration
2 vCPU
4GB RAM
1 x 100GB vDisk
1 x vNic
Gitlab
(VM)
1 x
Forge
(Image build)
2 vCPU
4GB RAM
1 x 100GB vDisk
1 x vNic
Gitlab Runner
(VM)
1 x
Downstream Cluster
(Applications)
8 x vCPUs
16GB RAM
1 x 100GB vDisk
1 x vNic
1 x vNic Storage
K8S Worker
(VM)
3 x
4 x vCPUs
8GB RAM
1 x 50GB vDisk
1 x vNic
K8S Master
(VM)
3 x
(Container)
(Container)
Application 1
(Container)
Application 2
(Container)
Copyright © SUSE 2021
Copyright © SUSE 2021
Démo
Code Assembly Pipeline
Copyright © SUSE 2021
Commit Code Commit code
Build
image
Push to
registry
Scan
image
Deploy
application
Test and
Qualify
Produce
1 2 3 4 5 … rolling ...
Application source code:
- Application:
> Web server with Ruby Sinatra
> Ruby based application
- The Base Container Image to be used needs Ruby binaries
- Git repository in a Git Lab server
> Git Lab CE 14.3.1
> Living Code with multiple branches
> Bugs and revisions are stored here
> Gitlab defines the pipeline
Copyright © SUSE 2021
Build Image 1/3 Commit code
Build
image
Push to
registry
Scan
image
Deploy
application
Test and
Qualify
Produce
1 2 3 4 5 … rolling ...
Creating a file to describe our container image:
- File "Dockerfile"
- Ruby based image is being used for the app to run successfully
- Create a folder "app" to host the application
- Copying the "Gemfile" from the repo in the image
> Gemfile contains the needed Ruby dependencies for the app
- Install app & dependencies using the "bundle install" command
- Copy the full repository content in the "app" folder
- Define the executable command when the container is started
> Using "bundle exec" to execute the application
> Rackup is used to start a web server on port 80 listening on any interface
Copyright © SUSE 2021
Build Image 2/3 Commit code
Build
image
Push to
registry
Scan
image
Deploy
application
Test and
Qualify
Produce
1 2 3 4 5 … rolling ...
Define the ".gitlab-ci.yml"
> Describes the pipeline's stages
> Orchestrates the code assembly
> Steps are triggered on commit
> Uses variables defined in the project (described later on)
Defining the private registry to use with an internal certificate
"Podman" is used to build the container image
> podman logs in the private registry
> The container image is built
> The resulting image is pushed in the private registry
Copyright © SUSE 2021
Build Image 3/3 Commit code
Build
image
Push to
registry
Scan
image
Deploy
application
Test and
Qualify
Produce
1 2 3 4 5 … rolling ...
Define the variables needed for your pipeline
> In your gitlab project
> "Settings" tab, "CI/CD" menu
> Declare the needed variables
Copyright © SUSE 2021
Push to Registry Commit code
Build
image
Push to
registry
Scan
image
Deploy
application
Test and
Qualify
Produce
1 2 3 4 5 … rolling ...
Harbor 2.1.1
> Installed on a K8S cluster deployed with Rancher
> SUSE Helm Chart was used
> Chart repo: https://kubernetes-charts.suse.com
Parameters:
Project and namespace are declared (public access)
> Project: se-apps
> Namespace: hero-demo (created during the first "push")
> Utilisateur: ci01 + define password
> Adding ci01 to "se-apps" project: role "user"
Copyright © SUSE 2021
Scan Image Commit code
Build
image
Push to
registry
Scan
image
Deploy
application
Test and
Qualify
Produce
1 2 3 4 5 … rolling ...
Trivy is a simple and comprehensive scanner for vulnerabilities in
container images, file systems, and Git repositories, as well as for
configuration issues.
Different images will appear under the "hero-demo" namespace
> Harbor embeds Trivy to scan for active CVEs within images
> We can analyse all the images at once
Each freshly uploaded image can be set to be scanned automatically
Copyright © SUSE 2021
Deploy Application 1/3 Commit code
Build
image
Push to
registry
Scan
image
Deploy
application
Test and
Qualify
Produce
1 2 3 4 5 … rolling ...
A user needs to be created within Rancher for cluster control
> "pipeline-dev1" is created as a standard global user
> "pipeline-dev1" is added as a member to the K8S cluster(s)
to be used in the pipeline
Copyright © SUSE 2021
Deploy Application 2/3 Commit code
Build
image
Push to
registry
Scan
image
Deploy
application
Test and
Qualify
Produce
1 2 3 4 5 … rolling ...
Defining our K8S Cluster to be used by Gitlab
> In the defined Gitproject, under the "Infrastructure" tab, select "Kubernetes clusters"
> At least one target K8S cluster needs to be defined
> Add your cluster using "Connect cluster with certificate"
> Use the tab "Connect existing cluster"
Get your cluster "API URL" and "Service Token"
> In the Rancher UI, select your desired cluster to be used
> On the upper right, click on the button "Download KubeConfig"
For the selected cluster, note:
> "server" field
> "token" field
The cluster can now be added.
Copyright © SUSE 2021
Deploy Application 3/3 Commit code
Build
image
Push to
registry
Scan
image
Deploy
application
Test and
Qualify
Produce
1 2 3 4 5 … rolling ...
Select a container embedding K8S client tools
> Kubectl binary is needed for our operations
Check Helm Chart syntax
> The folder "chart" is read for syntax errors
Using helm to deploy the application in the folder "chart"
> Define the image to be used (from the private registry)
> Set a unique image tag based on the deployment
> Define the ingress rules
> Define the namespace to be used
Copyright © SUSE 2021
Test, qualify, produce… Commit code
Build
image
Push to
registry
Scan
image
Deploy
application
Test and
Qualify
Produce
1 2 3 4 5 … rolling ...
The application is ready to be tested
> The pipeline will be automatically initiated when a code commit happens
> Under your project, the CI/CD tab, select "Pipelines"
> You can review each launched pipeline
> When a pipeline is successful you can connect to the application using the defined ingress address for review
Copyright © SUSE 2021
© 2020 SUSE LLC. All Rights Reserved. SUSE and
the SUSE logo are registered trademarks of
SUSE LLC in the United States and other
countries. All third-party trademarks are the
property of their respective owners.
For more information, contact SUSE at:
+1 800 796 3700 (U.S./Canada)
+49 (0)911-740 53-0 (Worldwide)
Maxfeldstrasse 5
90409 Nuremberg
www.suse.com
Thank you

More Related Content

What's hot

Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019Stefan Scherer
 
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerDocker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerPatrick Chanezon
 
Docker Trends & Statistics - A 20 Minutes Overview
Docker Trends & Statistics -  A 20 Minutes Overview Docker Trends & Statistics -  A 20 Minutes Overview
Docker Trends & Statistics - A 20 Minutes Overview Ajeet Singh Raina
 
How to containerize at speed and at scale with Docker Enterprise Edition, mov...
How to containerize at speed and at scale with Docker Enterprise Edition, mov...How to containerize at speed and at scale with Docker Enterprise Edition, mov...
How to containerize at speed and at scale with Docker Enterprise Edition, mov...Kangaroot
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018Patrick Chanezon
 
Photon Controller: An Open Source Container Infrastructure Platform from VMware
Photon Controller: An Open Source Container Infrastructure Platform from VMwarePhoton Controller: An Open Source Container Infrastructure Platform from VMware
Photon Controller: An Open Source Container Infrastructure Platform from VMwareDocker, Inc.
 
Kubernetes 101 VMworld 2019 workshop slides
Kubernetes 101 VMworld 2019 workshop slidesKubernetes 101 VMworld 2019 workshop slides
Kubernetes 101 VMworld 2019 workshop slidesSimone Morellato
 
Docker - A container full of Chocolatey
Docker - A container full of ChocolateyDocker - A container full of Chocolatey
Docker - A container full of ChocolateyStefan Scherer
 
Continuous Delivery Live
Continuous Delivery LiveContinuous Delivery Live
Continuous Delivery LiveDocker, Inc.
 
Continous delivery at docker age
Continous delivery at docker ageContinous delivery at docker age
Continous delivery at docker ageAdrien Blind
 
Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Stefan Scherer
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview VMware Tanzu
 
Couchbase on Docker - Couchbase Connect 2015
Couchbase on Docker - Couchbase Connect 2015Couchbase on Docker - Couchbase Connect 2015
Couchbase on Docker - Couchbase Connect 2015Patrick Chanezon
 
Docker, cornerstone of an hybrid cloud?
Docker, cornerstone of an hybrid cloud?Docker, cornerstone of an hybrid cloud?
Docker, cornerstone of an hybrid cloud?Adrien Blind
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Patrick Chanezon
 
Neo4J with Docker and Azure - GraphConnect 2015
Neo4J with Docker and Azure - GraphConnect 2015Neo4J with Docker and Azure - GraphConnect 2015
Neo4J with Docker and Azure - GraphConnect 2015Patrick Chanezon
 
Red hat enterprise_linux-8-configuring_basic_system_settings-en-us
Red hat enterprise_linux-8-configuring_basic_system_settings-en-usRed hat enterprise_linux-8-configuring_basic_system_settings-en-us
Red hat enterprise_linux-8-configuring_basic_system_settings-en-usJoão Filho
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker, Inc.
 
Docker Devoxx UK - Never mind the bollocks here's the Linux Containers
Docker Devoxx UK - Never mind the bollocks here's the Linux ContainersDocker Devoxx UK - Never mind the bollocks here's the Linux Containers
Docker Devoxx UK - Never mind the bollocks here's the Linux ContainersPatrick Chanezon
 
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Simone Morellato
 

What's hot (20)

Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019Let's talk Windows Containers on Windows Server 2019
Let's talk Windows Containers on Windows Server 2019
 
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerDocker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
 
Docker Trends & Statistics - A 20 Minutes Overview
Docker Trends & Statistics -  A 20 Minutes Overview Docker Trends & Statistics -  A 20 Minutes Overview
Docker Trends & Statistics - A 20 Minutes Overview
 
How to containerize at speed and at scale with Docker Enterprise Edition, mov...
How to containerize at speed and at scale with Docker Enterprise Edition, mov...How to containerize at speed and at scale with Docker Enterprise Edition, mov...
How to containerize at speed and at scale with Docker Enterprise Edition, mov...
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
Photon Controller: An Open Source Container Infrastructure Platform from VMware
Photon Controller: An Open Source Container Infrastructure Platform from VMwarePhoton Controller: An Open Source Container Infrastructure Platform from VMware
Photon Controller: An Open Source Container Infrastructure Platform from VMware
 
Kubernetes 101 VMworld 2019 workshop slides
Kubernetes 101 VMworld 2019 workshop slidesKubernetes 101 VMworld 2019 workshop slides
Kubernetes 101 VMworld 2019 workshop slides
 
Docker - A container full of Chocolatey
Docker - A container full of ChocolateyDocker - A container full of Chocolatey
Docker - A container full of Chocolatey
 
Continuous Delivery Live
Continuous Delivery LiveContinuous Delivery Live
Continuous Delivery Live
 
Continous delivery at docker age
Continous delivery at docker ageContinous delivery at docker age
Continous delivery at docker age
 
Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10Setup a Dev environment that feels like $HOME on Windows 10
Setup a Dev environment that feels like $HOME on Windows 10
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview
 
Couchbase on Docker - Couchbase Connect 2015
Couchbase on Docker - Couchbase Connect 2015Couchbase on Docker - Couchbase Connect 2015
Couchbase on Docker - Couchbase Connect 2015
 
Docker, cornerstone of an hybrid cloud?
Docker, cornerstone of an hybrid cloud?Docker, cornerstone of an hybrid cloud?
Docker, cornerstone of an hybrid cloud?
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
Neo4J with Docker and Azure - GraphConnect 2015
Neo4J with Docker and Azure - GraphConnect 2015Neo4J with Docker and Azure - GraphConnect 2015
Neo4J with Docker and Azure - GraphConnect 2015
 
Red hat enterprise_linux-8-configuring_basic_system_settings-en-us
Red hat enterprise_linux-8-configuring_basic_system_settings-en-usRed hat enterprise_linux-8-configuring_basic_system_settings-en-us
Red hat enterprise_linux-8-configuring_basic_system_settings-en-us
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to Docker
 
Docker Devoxx UK - Never mind the bollocks here's the Linux Containers
Docker Devoxx UK - Never mind the bollocks here's the Linux ContainersDocker Devoxx UK - Never mind the bollocks here's the Linux Containers
Docker Devoxx UK - Never mind the bollocks here's the Linux Containers
 
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
Run Stateful Apps on Kubernetes with VMware PKS - Highlight WebLogic Server
 

Similar to Code Factory Run Continuous Integration Pipeline Demo

Code Factory avec GitLab CI et Rancher
Code Factory avec GitLab CI et RancherCode Factory avec GitLab CI et Rancher
Code Factory avec GitLab CI et RancherSUSE
 
Rancher Rodéo France
Rancher Rodéo FranceRancher Rodéo France
Rancher Rodéo FranceSUSE
 
Rancher Rodeo 13 mai 2022
Rancher Rodeo 13 mai 2022Rancher Rodeo 13 mai 2022
Rancher Rodeo 13 mai 2022SUSE
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 augVincent De Smet
 
Continuous Integration & Development with Gitlab
Continuous Integration & Development with GitlabContinuous Integration & Development with Gitlab
Continuous Integration & Development with GitlabAyush Sharma
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017Robert Parker
 
CI/CD Pipeline with Docker
CI/CD Pipeline with DockerCI/CD Pipeline with Docker
CI/CD Pipeline with Dockerkushalsingh007
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices Hendri Karisma
 
Presentation de NeuVector 5.0
Presentation de NeuVector 5.0Presentation de NeuVector 5.0
Presentation de NeuVector 5.0SUSE
 
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconCloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconMario-Leander Reimer
 
CI/CD Development in Kubernetes - Skaffold
CI/CD Development in Kubernetes -  SkaffoldCI/CD Development in Kubernetes -  Skaffold
CI/CD Development in Kubernetes - SkaffoldSuman Chakraborty
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Docker, Inc.
 
Continuous Integration using Docker & Jenkins
Continuous Integration using Docker & JenkinsContinuous Integration using Docker & Jenkins
Continuous Integration using Docker & JenkinsB1 Systems GmbH
 
SUSE shim and things related to it
SUSE shim and things related to itSUSE shim and things related to it
SUSE shim and things related to itSUSE Labs Taipei
 
From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)佑介 九岡
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...Oleg Shalygin
 
#VirtualDesignMaster 3 Challenge 4 - Harshvardhan Gupta
#VirtualDesignMaster 3 Challenge 4 - Harshvardhan Gupta#VirtualDesignMaster 3 Challenge 4 - Harshvardhan Gupta
#VirtualDesignMaster 3 Challenge 4 - Harshvardhan Guptavdmchallenge
 
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)Alexandre Roman
 

Similar to Code Factory Run Continuous Integration Pipeline Demo (20)

Code Factory avec GitLab CI et Rancher
Code Factory avec GitLab CI et RancherCode Factory avec GitLab CI et Rancher
Code Factory avec GitLab CI et Rancher
 
Rancher Rodéo France
Rancher Rodéo FranceRancher Rodéo France
Rancher Rodéo France
 
Rancher Rodeo 13 mai 2022
Rancher Rodeo 13 mai 2022Rancher Rodeo 13 mai 2022
Rancher Rodeo 13 mai 2022
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 aug
 
Continuous Integration & Development with Gitlab
Continuous Integration & Development with GitlabContinuous Integration & Development with Gitlab
Continuous Integration & Development with Gitlab
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
CI/CD Pipeline with Docker
CI/CD Pipeline with DockerCI/CD Pipeline with Docker
CI/CD Pipeline with Docker
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
Presentation de NeuVector 5.0
Presentation de NeuVector 5.0Presentation de NeuVector 5.0
Presentation de NeuVector 5.0
 
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconCloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
 
CI/CD Development in Kubernetes - Skaffold
CI/CD Development in Kubernetes -  SkaffoldCI/CD Development in Kubernetes -  Skaffold
CI/CD Development in Kubernetes - Skaffold
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
 
Continuous Integration using Docker & Jenkins
Continuous Integration using Docker & JenkinsContinuous Integration using Docker & Jenkins
Continuous Integration using Docker & Jenkins
 
SUSE shim and things related to it
SUSE shim and things related to itSUSE shim and things related to it
SUSE shim and things related to it
 
AWS Code Services
AWS Code ServicesAWS Code Services
AWS Code Services
 
From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)From dev to prod: Kubernetes on AWS (short ver.)
From dev to prod: Kubernetes on AWS (short ver.)
 
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
 
#VirtualDesignMaster 3 Challenge 4 - Harshvardhan Gupta
#VirtualDesignMaster 3 Challenge 4 - Harshvardhan Gupta#VirtualDesignMaster 3 Challenge 4 - Harshvardhan Gupta
#VirtualDesignMaster 3 Challenge 4 - Harshvardhan Gupta
 
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
 

More from SUSE

Neuvector Rodeo 17 mars 20234
Neuvector Rodeo 17 mars 20234Neuvector Rodeo 17 mars 20234
Neuvector Rodeo 17 mars 20234SUSE
 
Coffee Break NeuVector
Coffee Break NeuVectorCoffee Break NeuVector
Coffee Break NeuVectorSUSE
 
Harvester
HarvesterHarvester
HarvesterSUSE
 
L'affaire CentOS
L'affaire CentOSL'affaire CentOS
L'affaire CentOSSUSE
 
Harvester café
Harvester caféHarvester café
Harvester caféSUSE
 
Expert Day 2019 - HA et SAP : How QA is done
Expert Day 2019 - HA et SAP : How QA is doneExpert Day 2019 - HA et SAP : How QA is done
Expert Day 2019 - HA et SAP : How QA is doneSUSE
 
Expert Day 2019 - Automated SAP HANA deployments et Terraform
Expert Day 2019 - Automated SAP HANA deployments et TerraformExpert Day 2019 - Automated SAP HANA deployments et Terraform
Expert Day 2019 - Automated SAP HANA deployments et TerraformSUSE
 
Expert Day 2019 - CaaSP et CAP
Expert Day 2019 - CaaSP et CAPExpert Day 2019 - CaaSP et CAP
Expert Day 2019 - CaaSP et CAPSUSE
 
Expert Day 2019 - SUSE Enterrpise Storage et CEPH
Expert Day 2019 - SUSE Enterrpise Storage et CEPHExpert Day 2019 - SUSE Enterrpise Storage et CEPH
Expert Day 2019 - SUSE Enterrpise Storage et CEPHSUSE
 
Expert Day 2019 - SUSE OpenStack Cloud
Expert Day 2019 - SUSE OpenStack CloudExpert Day 2019 - SUSE OpenStack Cloud
Expert Day 2019 - SUSE OpenStack CloudSUSE
 
Expert Day 2019 - SUSE Manager
Expert Day 2019 - SUSE ManagerExpert Day 2019 - SUSE Manager
Expert Day 2019 - SUSE ManagerSUSE
 
Expert Day 2019 - SUSE public beta program
Expert Day 2019 - SUSE public beta programExpert Day 2019 - SUSE public beta program
Expert Day 2019 - SUSE public beta programSUSE
 
Expert Day 2019 - Introduction
Expert Day 2019 - IntroductionExpert Day 2019 - Introduction
Expert Day 2019 - IntroductionSUSE
 
Software-defined Datacenter Maintenance - No More Sleepless Nights and Long W...
Software-defined Datacenter Maintenance - No More Sleepless Nights and Long W...Software-defined Datacenter Maintenance - No More Sleepless Nights and Long W...
Software-defined Datacenter Maintenance - No More Sleepless Nights and Long W...SUSE
 
Case study : New SAP S/4HANA on SUSE Implementation Business Benefits Achieved
Case study : New SAP S/4HANA on SUSE Implementation Business Benefits AchievedCase study : New SAP S/4HANA on SUSE Implementation Business Benefits Achieved
Case study : New SAP S/4HANA on SUSE Implementation Business Benefits AchievedSUSE
 
Lifecycle Management for the Software Defined Infrastructure
Lifecycle Management for the Software Defined InfrastructureLifecycle Management for the Software Defined Infrastructure
Lifecycle Management for the Software Defined InfrastructureSUSE
 
What is Your Edge From the Cloud to the Edge, Extending Your Reach
What is Your Edge From the Cloud to the Edge, Extending Your ReachWhat is Your Edge From the Cloud to the Edge, Extending Your Reach
What is Your Edge From the Cloud to the Edge, Extending Your ReachSUSE
 
Support @SUSE: The Entire Chain from an Incident to a Fix
Support @SUSE: The Entire Chain from an Incident to a FixSupport @SUSE: The Entire Chain from an Incident to a Fix
Support @SUSE: The Entire Chain from an Incident to a FixSUSE
 
SUSE Expert Days Paris 2018 – Software-Defined Storage et GDPR
SUSE Expert Days Paris 2018 – Software-Defined Storage et GDPRSUSE Expert Days Paris 2018 – Software-Defined Storage et GDPR
SUSE Expert Days Paris 2018 – Software-Defined Storage et GDPRSUSE
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE
 

More from SUSE (20)

Neuvector Rodeo 17 mars 20234
Neuvector Rodeo 17 mars 20234Neuvector Rodeo 17 mars 20234
Neuvector Rodeo 17 mars 20234
 
Coffee Break NeuVector
Coffee Break NeuVectorCoffee Break NeuVector
Coffee Break NeuVector
 
Harvester
HarvesterHarvester
Harvester
 
L'affaire CentOS
L'affaire CentOSL'affaire CentOS
L'affaire CentOS
 
Harvester café
Harvester caféHarvester café
Harvester café
 
Expert Day 2019 - HA et SAP : How QA is done
Expert Day 2019 - HA et SAP : How QA is doneExpert Day 2019 - HA et SAP : How QA is done
Expert Day 2019 - HA et SAP : How QA is done
 
Expert Day 2019 - Automated SAP HANA deployments et Terraform
Expert Day 2019 - Automated SAP HANA deployments et TerraformExpert Day 2019 - Automated SAP HANA deployments et Terraform
Expert Day 2019 - Automated SAP HANA deployments et Terraform
 
Expert Day 2019 - CaaSP et CAP
Expert Day 2019 - CaaSP et CAPExpert Day 2019 - CaaSP et CAP
Expert Day 2019 - CaaSP et CAP
 
Expert Day 2019 - SUSE Enterrpise Storage et CEPH
Expert Day 2019 - SUSE Enterrpise Storage et CEPHExpert Day 2019 - SUSE Enterrpise Storage et CEPH
Expert Day 2019 - SUSE Enterrpise Storage et CEPH
 
Expert Day 2019 - SUSE OpenStack Cloud
Expert Day 2019 - SUSE OpenStack CloudExpert Day 2019 - SUSE OpenStack Cloud
Expert Day 2019 - SUSE OpenStack Cloud
 
Expert Day 2019 - SUSE Manager
Expert Day 2019 - SUSE ManagerExpert Day 2019 - SUSE Manager
Expert Day 2019 - SUSE Manager
 
Expert Day 2019 - SUSE public beta program
Expert Day 2019 - SUSE public beta programExpert Day 2019 - SUSE public beta program
Expert Day 2019 - SUSE public beta program
 
Expert Day 2019 - Introduction
Expert Day 2019 - IntroductionExpert Day 2019 - Introduction
Expert Day 2019 - Introduction
 
Software-defined Datacenter Maintenance - No More Sleepless Nights and Long W...
Software-defined Datacenter Maintenance - No More Sleepless Nights and Long W...Software-defined Datacenter Maintenance - No More Sleepless Nights and Long W...
Software-defined Datacenter Maintenance - No More Sleepless Nights and Long W...
 
Case study : New SAP S/4HANA on SUSE Implementation Business Benefits Achieved
Case study : New SAP S/4HANA on SUSE Implementation Business Benefits AchievedCase study : New SAP S/4HANA on SUSE Implementation Business Benefits Achieved
Case study : New SAP S/4HANA on SUSE Implementation Business Benefits Achieved
 
Lifecycle Management for the Software Defined Infrastructure
Lifecycle Management for the Software Defined InfrastructureLifecycle Management for the Software Defined Infrastructure
Lifecycle Management for the Software Defined Infrastructure
 
What is Your Edge From the Cloud to the Edge, Extending Your Reach
What is Your Edge From the Cloud to the Edge, Extending Your ReachWhat is Your Edge From the Cloud to the Edge, Extending Your Reach
What is Your Edge From the Cloud to the Edge, Extending Your Reach
 
Support @SUSE: The Entire Chain from an Incident to a Fix
Support @SUSE: The Entire Chain from an Incident to a FixSupport @SUSE: The Entire Chain from an Incident to a Fix
Support @SUSE: The Entire Chain from an Incident to a Fix
 
SUSE Expert Days Paris 2018 – Software-Defined Storage et GDPR
SUSE Expert Days Paris 2018 – Software-Defined Storage et GDPRSUSE Expert Days Paris 2018 – Software-Defined Storage et GDPR
SUSE Expert Days Paris 2018 – Software-Defined Storage et GDPR
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 

Recently uploaded

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 

Recently uploaded (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 

Code Factory Run Continuous Integration Pipeline Demo

  • 1. Copyright © SUSE 2021 Code Factory 3 FÉVRIER 2022 Benoît Loriot Brice Dekany Julien Niedergang Code Factory Run
  • 2. Copyright © SUSE 2021 Agenda 1. SUSE / Rancher 2. Intégration Continue 3. Démo Synchronisation des montres: Café-croissant Harvester Vendredi 4 Février 9h30 à 10h00 Rancher Rodéo n°7 Vendredi 18 Mars 9h30 à 12h00 L'affaire CentOS Mercredi 23 Mars 9h30 à 10h00
  • 3. Copyright © SUSE 2021 Portfolio SUSE Hybrid Cloud Infrastructure Dev Datacenter Branch Cloud Edge Support & Services Catalog Security Storage Governance The platform for managing all Kubernetes distributions Datacenter Edge Block Storage Linux SLE Desktop / POS SLE Server SLES for SAP Applications SLES for HPC SLE Micro SLE Extensions SUSE Manager SUSE Linux Enterprise Compliance Security Availability Management The only adaptable Linux operating system Other Linux Cloud-native HCI Security
  • 4. Copyright © SUSE 2021 Copyright © SUSE 2021 Définition et Architecture Intégration Continue
  • 5. Copyright © SUSE 2021 Objectif de l’intégration continue Suis-je en mode aléatoire? Aussitôt que le code est poussé… il est intégré pour validation Intégration Continue Scénario Hmm… Pas mal cette modif… Evaluation Code
  • 6. Copyright © SUSE 2021 Glossaire de l’intégration continue Cycle de vie applicatif Installation des applications et de leur dépendance. Cycle de vie des applications et de leurs composants. Helm Kustomize Dépôt de code Outil central pour tous les développeurs Gestion collaborative du code des applications Github Gitlab Intégration Continue Orchestration Registre Stockage et mise à disposition des images de conteneurs Les images contiennent les exécutables pour les applications Harbor Docker registry Nexus Forge Assemblage de l’application et construction d’une image de conteneur Résultat stocké dans un registre Gitlab-CI Jenkins Tekton
  • 7. Copyright © SUSE 2021 Code Factory and Applications Today's classical customer architecture Commit code Build image Push to registry Scan image Deploy application Test and Qualify Produce 1 2 3 4 5 … rolling ... Production Code Forge Container Image Compiler Continuous Integration Gitlab Security Scans Neuvector 2 4 Image Registry Container Image Storage 3 Deployment Kubernetes 1 Evaluate Code Rancher Desktop 5 ²
  • 8. Copyright © SUSE 2021 8 SUSE Rancher SLA Coverage & Ready Partners App Management & CI/CD Monitoring & Logging Registry & Image Scanning Container Security & Secrets Networking & Service Mesh Platforms & Orchestration Persistent Storage Container Engine Operating Systems Infrastructure SUSE Rancher SLA SUSE Rancher Ready Partners Authentication & Authorization GK E AK S * * * * * Requires separate subscription
  • 9. Copyright © SUSE 2021 Copyright © SUSE 2021 Choix d'architecture Architecture
  • 10. Copyright © SUSE 2021 Architecture – Code Factory Services Repos - Packages packages for OS Registry Harbor NTP Repos - Code Gitlab Load Balancer 2 VIPs Shared Storage Type/version du stockage DNS 1 x FQDN Mgmt 1 x FQDN (wildcard?) vers workers Accès Liste des ouvertures réseau nécessaire Proxy Container Network Infrastructure Calico, Canal… Hyperviseur (VMs) LAN Network Rancher Server (Management) 4 vCPU 8GB RAM 1 x 50GB vDisk 1 x vNic Rancher Mgmt (VM) 3 x Code repository Continuous Integration 2 vCPU 4GB RAM 1 x 100GB vDisk 1 x vNic Gitlab (VM) 1 x Forge (Image build) 2 vCPU 4GB RAM 1 x 100GB vDisk 1 x vNic Gitlab Runner (VM) 1 x Downstream Cluster (Applications) 8 x vCPUs 16GB RAM 1 x 100GB vDisk 1 x vNic 1 x vNic Storage K8S Worker (VM) 3 x 4 x vCPUs 8GB RAM 1 x 50GB vDisk 1 x vNic K8S Master (VM) 3 x (Container) (Container) Application 1 (Container) Application 2 (Container)
  • 11. Copyright © SUSE 2021 Copyright © SUSE 2021 Démo Code Assembly Pipeline
  • 12. Copyright © SUSE 2021 Commit Code Commit code Build image Push to registry Scan image Deploy application Test and Qualify Produce 1 2 3 4 5 … rolling ... Application source code: - Application: > Web server with Ruby Sinatra > Ruby based application - The Base Container Image to be used needs Ruby binaries - Git repository in a Git Lab server > Git Lab CE 14.3.1 > Living Code with multiple branches > Bugs and revisions are stored here > Gitlab defines the pipeline
  • 13. Copyright © SUSE 2021 Build Image 1/3 Commit code Build image Push to registry Scan image Deploy application Test and Qualify Produce 1 2 3 4 5 … rolling ... Creating a file to describe our container image: - File "Dockerfile" - Ruby based image is being used for the app to run successfully - Create a folder "app" to host the application - Copying the "Gemfile" from the repo in the image > Gemfile contains the needed Ruby dependencies for the app - Install app & dependencies using the "bundle install" command - Copy the full repository content in the "app" folder - Define the executable command when the container is started > Using "bundle exec" to execute the application > Rackup is used to start a web server on port 80 listening on any interface
  • 14. Copyright © SUSE 2021 Build Image 2/3 Commit code Build image Push to registry Scan image Deploy application Test and Qualify Produce 1 2 3 4 5 … rolling ... Define the ".gitlab-ci.yml" > Describes the pipeline's stages > Orchestrates the code assembly > Steps are triggered on commit > Uses variables defined in the project (described later on) Defining the private registry to use with an internal certificate "Podman" is used to build the container image > podman logs in the private registry > The container image is built > The resulting image is pushed in the private registry
  • 15. Copyright © SUSE 2021 Build Image 3/3 Commit code Build image Push to registry Scan image Deploy application Test and Qualify Produce 1 2 3 4 5 … rolling ... Define the variables needed for your pipeline > In your gitlab project > "Settings" tab, "CI/CD" menu > Declare the needed variables
  • 16. Copyright © SUSE 2021 Push to Registry Commit code Build image Push to registry Scan image Deploy application Test and Qualify Produce 1 2 3 4 5 … rolling ... Harbor 2.1.1 > Installed on a K8S cluster deployed with Rancher > SUSE Helm Chart was used > Chart repo: https://kubernetes-charts.suse.com Parameters: Project and namespace are declared (public access) > Project: se-apps > Namespace: hero-demo (created during the first "push") > Utilisateur: ci01 + define password > Adding ci01 to "se-apps" project: role "user"
  • 17. Copyright © SUSE 2021 Scan Image Commit code Build image Push to registry Scan image Deploy application Test and Qualify Produce 1 2 3 4 5 … rolling ... Trivy is a simple and comprehensive scanner for vulnerabilities in container images, file systems, and Git repositories, as well as for configuration issues. Different images will appear under the "hero-demo" namespace > Harbor embeds Trivy to scan for active CVEs within images > We can analyse all the images at once Each freshly uploaded image can be set to be scanned automatically
  • 18. Copyright © SUSE 2021 Deploy Application 1/3 Commit code Build image Push to registry Scan image Deploy application Test and Qualify Produce 1 2 3 4 5 … rolling ... A user needs to be created within Rancher for cluster control > "pipeline-dev1" is created as a standard global user > "pipeline-dev1" is added as a member to the K8S cluster(s) to be used in the pipeline
  • 19. Copyright © SUSE 2021 Deploy Application 2/3 Commit code Build image Push to registry Scan image Deploy application Test and Qualify Produce 1 2 3 4 5 … rolling ... Defining our K8S Cluster to be used by Gitlab > In the defined Gitproject, under the "Infrastructure" tab, select "Kubernetes clusters" > At least one target K8S cluster needs to be defined > Add your cluster using "Connect cluster with certificate" > Use the tab "Connect existing cluster" Get your cluster "API URL" and "Service Token" > In the Rancher UI, select your desired cluster to be used > On the upper right, click on the button "Download KubeConfig" For the selected cluster, note: > "server" field > "token" field The cluster can now be added.
  • 20. Copyright © SUSE 2021 Deploy Application 3/3 Commit code Build image Push to registry Scan image Deploy application Test and Qualify Produce 1 2 3 4 5 … rolling ... Select a container embedding K8S client tools > Kubectl binary is needed for our operations Check Helm Chart syntax > The folder "chart" is read for syntax errors Using helm to deploy the application in the folder "chart" > Define the image to be used (from the private registry) > Set a unique image tag based on the deployment > Define the ingress rules > Define the namespace to be used
  • 21. Copyright © SUSE 2021 Test, qualify, produce… Commit code Build image Push to registry Scan image Deploy application Test and Qualify Produce 1 2 3 4 5 … rolling ... The application is ready to be tested > The pipeline will be automatically initiated when a code commit happens > Under your project, the CI/CD tab, select "Pipelines" > You can review each launched pipeline > When a pipeline is successful you can connect to the application using the defined ingress address for review
  • 22. Copyright © SUSE 2021 © 2020 SUSE LLC. All Rights Reserved. SUSE and the SUSE logo are registered trademarks of SUSE LLC in the United States and other countries. All third-party trademarks are the property of their respective owners. For more information, contact SUSE at: +1 800 796 3700 (U.S./Canada) +49 (0)911-740 53-0 (Worldwide) Maxfeldstrasse 5 90409 Nuremberg www.suse.com Thank you