SlideShare a Scribd company logo
”
“ Casablanca, 19.10.2019
CI/CD – A Strategy for
success
10x Salesforce Certified Application Architect
/ Tech Lead @ Accenture Belgium
Yassine El Qandili
/in/yassineelqandili/
y.elqandili1@gmail.com
Why CI/CD ?
What is Continuous integration & Continuous Delivery/Deployment ?
How to do CI/CD ?
• Sandbox Strategy
• Delivery pipelines
• Branching Strategy
• Salesforce DX
Agenda
2
3
1
Why CI/CD ?
Auto
CI : Continuous Integration
Small Changes
Frequent code check in from VCS
Automatic package, build & test
CD :
Continuous Delivery: Manual
trigger deployment to production
Continuous Deployment :
Automatic Deploy to production
environment
Build Unit Tests
Deploy to
staging
Acceptance
tests
What is CI/CD ?
Manual
Align Design •Implement
1st Step 2nd Step 3rd Step
Technically implement & document the
solution
Train your team on the new WoW
Align business objective with the technical
implementation
Create a repository of existing tools
Design deployment flows & release cycles to
respond to business challenges
Make a choice on the tool stack
How ?
CI Server
Dev Sandbox
Dev Sandbox
Dev Sandbox
CI Sandbox QA Sandbox
Production HotFix
How ? – Sandbox Strategy
This Photo by Unknown Author is licensed under CC BY-SA
Build
Unit Test
Integration TestReview &
Approve
Auto Test
Deploy
Continuous DeliveryContinuous Integration
Scratch Org
Scratch Org
Scratch Org
Scratch Org
Scratch Org
Development UAT Production
How ? – Delivery Pipelines
Development SIT UAT Production
Development Merge SIT UAT
Performance
Testing
Staging Production
How ? – Branching Strategy
Master
QA
Develop
Feature 01
Feature 02
Salesforce DX
Salesforce CLI
Source Format vs Metadata Source ?
Tool stack
How ? – Implement
1
2
3
4
Salesforce DX
Powerful Command Line Interface
Perform commands against your Salesforce Org
Synch code from your org
Create and manage orgs
Import & Export Data
Create and execute tests
Create and Install Packages
Salesforce CLI
Metadata Format vs Source Format
• VS Code: Free & Open Source
IDE
• Salesforce Extensions
• CLI
• Apex & Apex Debuggers
• LWC, Aura Components &
Visual Force
• GitLens
Tool Stack – VS Code, Salesforce Extensions & GitLens
Endless
Possibilities
Tool Stack – CI Tools
Happy Development team
Happy functional team
Happy Product owner
Happy sponsors & stakeholders
Happy users
Happy Customers
Happyness
THANK YOU
for attending this session
And thanks to our sponsors
”
“ Casablanca, 19.10.2019
Q & A 10x Salesforce Certified Application Architect
/ Tech Lead @ Accenture Belgium
Yassine El Qandili
/in/yassineelqandili/
y.elqandili1@gmail.com

More Related Content

What's hot

DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTSDevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
Solidify
 
Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online
Moataz Nabil
 

What's hot (20)

Salesforce & GitLab Integration for Next-gen DevOps with CEPTES
Salesforce & GitLab Integration for Next-gen DevOps with CEPTESSalesforce & GitLab Integration for Next-gen DevOps with CEPTES
Salesforce & GitLab Integration for Next-gen DevOps with CEPTES
 
Salesforce development lifecycle
Salesforce development lifecycleSalesforce development lifecycle
Salesforce development lifecycle
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & Salesforce
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Salesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & AgileSalesforce – Proven Platform Development with DevOps & Agile
Salesforce – Proven Platform Development with DevOps & Agile
 
DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)
 
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTSDevOps and Continuous Delivery with Visual Studio 2015 and VSTS
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
 
Webcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why UpgradeWebcast: TFS 2015 & Why Upgrade
Webcast: TFS 2015 & Why Upgrade
 
Salesforce cicd integration a quick guide
Salesforce cicd integration a quick guideSalesforce cicd integration a quick guide
Salesforce cicd integration a quick guide
 
Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online Continuous Delivery with Visual Studio Online
Continuous Delivery with Visual Studio Online
 
Cloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team ServicesCloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team Services
 
Release Management in TFS 2015
Release Management in TFS 2015Release Management in TFS 2015
Release Management in TFS 2015
 
The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021
 
Enabing DevOps in an SDN World
Enabing DevOps in an SDN WorldEnabing DevOps in an SDN World
Enabing DevOps in an SDN World
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Platform Agility, Reliability, and Security: Can You Really Have it All in th...
Platform Agility, Reliability, and Security: Can You Really Have it All in th...Platform Agility, Reliability, and Security: Can You Really Have it All in th...
Platform Agility, Reliability, and Security: Can You Really Have it All in th...
 
Tech Days 2015 nyheter i visual studio alm 2015
Tech Days 2015 nyheter i visual studio alm 2015Tech Days 2015 nyheter i visual studio alm 2015
Tech Days 2015 nyheter i visual studio alm 2015
 
Continuous Delivery With Team Foundation Server
Continuous Delivery With Team Foundation ServerContinuous Delivery With Team Foundation Server
Continuous Delivery With Team Foundation Server
 
Continuous integration. Short overview
Continuous integration. Short overviewContinuous integration. Short overview
Continuous integration. Short overview
 

Similar to CI/CD - A strategy for success (North Africa Dreamin' Prez)

SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
w2fong
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
Rajwinder Singh
 

Similar to CI/CD - A strategy for success (North Africa Dreamin' Prez) (20)

Accelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft AzureAccelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft Azure
 
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
 
Improve Developer Experience with Developer Portal
Improve Developer Experience with Developer PortalImprove Developer Experience with Developer Portal
Improve Developer Experience with Developer Portal
 
Integrating SalesforceDX and Test Automation
Integrating SalesforceDX and Test AutomationIntegrating SalesforceDX and Test Automation
Integrating SalesforceDX and Test Automation
 
SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8SanDiego_DevOps_Meetup_9212016-v8
SanDiego_DevOps_Meetup_9212016-v8
 
Microservices the Good Bad and the Ugly
Microservices the Good Bad and the UglyMicroservices the Good Bad and the Ugly
Microservices the Good Bad and the Ugly
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
DevOps: Age Of CI/CD
DevOps: Age Of CI/CDDevOps: Age Of CI/CD
DevOps: Age Of CI/CD
 
Extend Agile and DevOps Practices Across Hybrid IT
Extend Agile and DevOps Practices Across Hybrid ITExtend Agile and DevOps Practices Across Hybrid IT
Extend Agile and DevOps Practices Across Hybrid IT
 
Profile-Amal
Profile-AmalProfile-Amal
Profile-Amal
 
Leading the Transformation
Leading the TransformationLeading the Transformation
Leading the Transformation
 
Advanced Techniques for Initiating the DevOps Journey
Advanced Techniques for Initiating the DevOps JourneyAdvanced Techniques for Initiating the DevOps Journey
Advanced Techniques for Initiating the DevOps Journey
 
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
 
Modernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering PracticesModernize Development with Agile Engineering Practices
Modernize Development with Agile Engineering Practices
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
INTERFACE by apidays 2023 - Digital Platforms, Taking API to production, Micr...
INTERFACE by apidays 2023 - Digital Platforms, Taking API to production, Micr...INTERFACE by apidays 2023 - Digital Platforms, Taking API to production, Micr...
INTERFACE by apidays 2023 - Digital Platforms, Taking API to production, Micr...
 
Grails & DevOps: continuous integration and delivery in the cloud
Grails & DevOps: continuous integration and delivery in the cloudGrails & DevOps: continuous integration and delivery in the cloud
Grails & DevOps: continuous integration and delivery in the cloud
 
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile TeamsDatatree.io Webinar: Continuous Integration & Delivery for Agile Teams
Datatree.io Webinar: Continuous Integration & Delivery for Agile Teams
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 

CI/CD - A strategy for success (North Africa Dreamin' Prez)

  • 1. ” “ Casablanca, 19.10.2019 CI/CD – A Strategy for success 10x Salesforce Certified Application Architect / Tech Lead @ Accenture Belgium Yassine El Qandili /in/yassineelqandili/ y.elqandili1@gmail.com
  • 2. Why CI/CD ? What is Continuous integration & Continuous Delivery/Deployment ? How to do CI/CD ? • Sandbox Strategy • Delivery pipelines • Branching Strategy • Salesforce DX Agenda 2 3 1
  • 4. Auto CI : Continuous Integration Small Changes Frequent code check in from VCS Automatic package, build & test CD : Continuous Delivery: Manual trigger deployment to production Continuous Deployment : Automatic Deploy to production environment Build Unit Tests Deploy to staging Acceptance tests What is CI/CD ? Manual
  • 5. Align Design •Implement 1st Step 2nd Step 3rd Step Technically implement & document the solution Train your team on the new WoW Align business objective with the technical implementation Create a repository of existing tools Design deployment flows & release cycles to respond to business challenges Make a choice on the tool stack How ?
  • 6. CI Server Dev Sandbox Dev Sandbox Dev Sandbox CI Sandbox QA Sandbox Production HotFix How ? – Sandbox Strategy This Photo by Unknown Author is licensed under CC BY-SA Build Unit Test Integration TestReview & Approve Auto Test Deploy Continuous DeliveryContinuous Integration Scratch Org Scratch Org Scratch Org Scratch Org Scratch Org
  • 7. Development UAT Production How ? – Delivery Pipelines Development SIT UAT Production Development Merge SIT UAT Performance Testing Staging Production
  • 8. How ? – Branching Strategy Master QA Develop Feature 01 Feature 02
  • 9. Salesforce DX Salesforce CLI Source Format vs Metadata Source ? Tool stack How ? – Implement 1 2 3 4
  • 11. Powerful Command Line Interface Perform commands against your Salesforce Org Synch code from your org Create and manage orgs Import & Export Data Create and execute tests Create and Install Packages Salesforce CLI
  • 12. Metadata Format vs Source Format
  • 13. • VS Code: Free & Open Source IDE • Salesforce Extensions • CLI • Apex & Apex Debuggers • LWC, Aura Components & Visual Force • GitLens Tool Stack – VS Code, Salesforce Extensions & GitLens
  • 15. Happy Development team Happy functional team Happy Product owner Happy sponsors & stakeholders Happy users Happy Customers Happyness
  • 16. THANK YOU for attending this session And thanks to our sponsors
  • 17. ” “ Casablanca, 19.10.2019 Q & A 10x Salesforce Certified Application Architect / Tech Lead @ Accenture Belgium Yassine El Qandili /in/yassineelqandili/ y.elqandili1@gmail.com

Editor's Notes

  1. This session will no be about how to technically setup your pipelines and will not be focus on the tools as such (except for Salesforce DX because it’s the backbone) In the How part, we’ll see to practically tackle this subject at a customer & in which steps ?
  2. Not only in the World of Salesforce, We all know the perks of deployments and we know how much it’s underrated & the risks of last minutes errors that come along. Now I assume you’ve all used change sets before & for sure you know that when working in separate teams on the same org, using changesets becomes a Russian roulette. Continuous integration and deployment comes into the picture to make it possible to avoid those challenges and automate most of the steps in this process in order to focus more on things that matter, bringing more business value rather than wasting time debugging errors.
  3. Continuous integration is the process of continuously & automatically merging the changes made by developers in a single source of truth (VCS) testing them and deploying them in a common environment where they co-exist together, to be able to detect compatibility errors early on the process so that you’re able to fix them as quickly as possible as well. Continuous delivery picks up where CI has left, to deploy to higher environment (QA or Prod), but still requiring a manual trigger. have a manual intervention when going to higher environments, such as QA (SIT/UAT, Staging) Continuous Deployment, is when everything is automatic, which is definitely more mature, so you shouldn’t do that if you’re just starting out.
  4. A lot of your time will go into alignment Align :  (Common understanding of the objectives & responsibilities) Understand what business want to achieve with Agility : Release vs Feature  A mix of both might mean smaller sprints. Teams : parallel projects, running support (Change sets – cannot be used anymore) Corporate standards & tools Responsibilities: who do release management, coordination (code merging, code reviews, triggering deployments) Design :  What’s the definition of your QA, what’s the development model (DX, Scratch orgs, Org VS Package) & release cycle, Tool stack. QA environments: Environments & who will test in each env Analyze different approaches : Org Model vs Package model, Source format vs Metadata source. Release Cycles : 2 weeks, 3 week. => short Implement:  Working tested solution, trained developers. Start executing  Implement your release pipelines & document what they do Document the developer flow : how the developer day will look like Train the team & allow for mistakes in the beginning
  5. Downsides of sandboxes : they’re limited, they get outdated, they might be used by multiple developers. Scratch codes: is more of, the developers own local development environment that he will use only for one feature and the get rid of it after the code is merged into the repository. They’re Fresh, and quick You CI automated tests will again run in exactly the same type of Org created from scratch which makes more consistent.
  6. Once you have your sandbox strategy, As part of your QA you’ll have to define the pattern to which each feature will go through. That will differ from one project to another and from one customer, sometimes you want to do performance testing because you have some heavy processes, sometime not.
  7. Objectives of features branches : Track changes and relate them back to User stories Know who did what & at which point in time Clear history
  8. Salesforce DX is a Salesforce product from the App cloud, that help you do your developments on the Platform.
  9. Smaller meta data files More readable Less merging effort Clearer structure