0% found this document useful (0 votes)
143 views

Culture of Automation Ci/Cd: Martin Sauvé Solutions Architect

This document discusses the culture of automation through continuous integration and continuous delivery (CI/CD) pipelines. It emphasizes that automation increases deployment frequency and reduces risks. It then outlines how CI/CD was implemented in a demo using Ansible, Jenkins, GitHub, SonarQube, and other tools with the goals of having a single source of truth, infrastructure as code, building code for production, and providing visibility. The demo fully automated the installation, configuration, testing, and deployment of applications to a production-like environment through the CI/CD pipeline.

Uploaded by

ARTHUR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
143 views

Culture of Automation Ci/Cd: Martin Sauvé Solutions Architect

This document discusses the culture of automation through continuous integration and continuous delivery (CI/CD) pipelines. It emphasizes that automation increases deployment frequency and reduces risks. It then outlines how CI/CD was implemented in a demo using Ansible, Jenkins, GitHub, SonarQube, and other tools with the goals of having a single source of truth, infrastructure as code, building code for production, and providing visibility. The demo fully automated the installation, configuration, testing, and deployment of applications to a production-like environment through the CI/CD pipeline.

Uploaded by

ARTHUR
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Culture of Automation

CI/CD

Martin Sauvé
Solutions Architect,
[email protected]
Supply Chain

Source: Dave Gray, The Connected Company


Autonomy

Source: Dave Gray, The Connected Company


Why Automation Matters

Deployment
Deployment
Frequency Frequency

Reduces
Reduces Increases Increases

Changes
Changes Automation
Process

Increases/Refines Reduces
Increases Increases
Risks
Risks

Culture of automation
●  Faster Delivery
●  Higher Quality
●  Less Risks
Prioritization Automation Small chunks - high throughput

Pressure ?

Feedback Visibility Awareness

5
•  Single source of truth

•  Infrastructure as Code

•  Build Code for Production

•  Provide Visibility to everyone who needs

•  Automate to deployment in a clone of production/production – “Happy Path”


Developer Workflow DEV
CI/CD Pipeline
Provision Environment

INSTALL INSTALL CONFIG START


MySQL JBoss JBoss JBoss

UNIT
CODE COMMIT
TEST

Create Release

STATIC
CREATE OWASP CREATE
BUILD CODE DEPLOY
SNAPSHOT TESTING RELEASE
ANALYSIS
Developer Workflow DEV
What about Ansible ?
USE CASE #1 – Pipeline installation and configuration

•  Several Roles available in Galaxy or in Communities supporting the toolchain


•  Strong Ecosystem
•  Demo was installed exclusively with Ansible. Very few manual intervention

USE CASE #2 – Jenkins Ansible Plugin/Integration


•  Several Jobs in the Pipeline are done by Ansible Playbooks
•  For example, dynamic provisioning and configuration of dev environment

USE CASE #3 – Provision Environment


•  Provision nodes and OS configuration
•  Provision Application Server/Database
Developer Workflow DEV
CI/CD Pipeline
Provision Environment

INSTALL INSTALL CONFIG START


MySQL JBoss JBoss JBoss

UNIT
CODE COMMIT
TEST

Create Release

STATIC
CREATE OWASP CREATE
BUILD CODE DEPLOY
SNAPSHOT TESTING RELEASE
ANALYSIS
DEMO !!!
In the demo:

•  Single source of truth - GitHub

•  Infrastructure as Code - Ansible playbooks/roles in source control

•  Build Code for Production – Sonar/ZAP/JUnit

•  Provide Visibility to everyone who needs - Jenkins UI, Sonar UI, ZAP Report

•  Automate to deployment in a clone of production/production – “Happy Path” – Jenkins/Ansible


Part 2 – Coming soon
CICD with Containers
Ansible plugin – This plugin lets you invoke Ansible playbooks
using Jenkins and Ansible Core.
You can also use Dynamic Inventories from places like Cobbler,
OpenShift, OpenStack, Amazon EC2 and more.

OpenShift Sync plugin – Sync OpenShift Builds and


BuildConfigs with the state of Jenkins and Jenkins Jobs.

OpenShift Pipeline plugin – Exposes OpenShift’s functionality


(such as triggering builds/deployments, promoting images from
dev to test to production, or scaling deployed apps) to Jenkins

WildFly / JBoss EAP plugin – Enables Jenkins to automatically


deploy apps to local or remote, standalone or domain WildFly
and/or JBoss EAP

Kubernetes plugin – The base Kubernetes plugin primarily


exists to allow you to dynamically provision Jenkins slaves within
a Kubernetes cluster, for scalability as well as providing pods
with specific runtimes for specific jobs.

Jenkins in the Red Hat CI/CD Ecosystem


Follow me on Github:
http://github.com/masauve/
http://github.com/masauve/cicd-pipeline - Demo setup to be
posted soon

You might also like