SlideShare a Scribd company logo
1 of 35
Automating Deployments 
Between Orgs Using 
Git and Continuous Integration 
Sebastian Wagner 
Freelance Certified Technical Architect 
www.linkedin/in/se6wagner
Safe Harbor 
Safe harbor statement under the Private Securities Litigation Reform Act of 1995: 
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of 
the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking 
statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service 
availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future 
operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments andcustomer contracts or use of 
our services. 
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, 
new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or 
delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and 
acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and 
manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization 
and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our 
annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and 
others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. 
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be 
delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. 
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Sebastian Wagner 
Certified Technical Architect
“I cannot teach anybody anything, 
I can only make them think” 
Socrates
Agenda 
• Challenges and Issues 
• Multi-Org Scenarios 
• Approach 
• Benefits 
• Best Practices 
• Q&A
deploying to production on a Friday afternoon
Challenges and Issues 
• keeping orgs in sync as a team 
• changes get overwritten by other developers 
• amount of time required for manual deployment 
• conflicts / errors discovered late in the process 
• limited traceability of changes
Scenarios - SDLC 
development QA 
user 
acceptance 
tests 
deployment
Scenarios – Single Sandbox
Scenarios – SDLC Environments
Approach – Before The Silver Bullet
Approach – (Not) The Silver Bullet
Approach – Components 
• Salesforce Orgs for Development 
– Sandboxes 
– DE Orgs 
• Git for Source Code Management 
– Github or bitbucket.org for hosting 
– Command Line / SourceTree / other as a client 
• Continuous Integration for automated deployments 
– Jenkins or Bamboo for orchestration 
– Ant & Force.com Migration Toolkit for deployment
Approach – Salesforce Orgs 
• separate Salesforce Org per developer 
• dedicated CI Salesforce Org 
– where all features will be integrated and compiled 
• Salesforce Org for stages in SDLC 
– QA (with integrated QA can be done in CI) 
– UAT 
– Pre-Prod
Approach - git 
• store source code & metadata 
– Apex and Visualforce Code 
– min. include referenced components required for deployment 
• track changes 
• isolate features and stages of the SDLC 
– branches for isolation of features and stages 
– tags for releases and versioning 
• store supporting resources 
– reference/ config data for migration 
– Integration config, test scripts, etc,
Approach – git (commands) 
• git clone 
• git commit 
• git push 
• git pull 
• force deploy
Approach - CI 
• Automation 
– ant based deployment from git repository 
– execution of supporting tasks 
– notifications on build errors 
– Reporting 
• Setup 
– data migration (test and/or config data) 
– execution of setup scripts 
• Testing 
– Unit test execution 
– UI test execution
Approach - CI
when a build has no errors 
http://thecodinglove.com/post/86204416476/when-a-build-has-no-errors
Benefits 
• Source Code ‘Backup’ 
• Automation 
– automated deployment to multiple orgs 
– automated test execution 
– eliminate human error from deployment 
• Visibility – The 5Ws of a change 
– Who What When Where Why 
• Validation 
– issues get detected early in the process 
– resolve issues close to cause
Best Practices 
• start simple 
• automate as much as possible 
• integrate with your ticketing system 
• use git branching model and tags 
• pull requests to merge features 
• commit & build regularly 
• maintain destructive changes log
BP – Ticketing Integration
BP – Ticketing Integration
BP – Gitflow Branching 
• Master 
– The holy grail aka Production 
• Hotfix 
– maintenance outside of dev 
• Release 
– ready for UAT 
• Develop 
– main development stream 
• Feature 
– individual feature / story 
www.atlassian.com/git/workflows
BP – Gitflow Orgs 
www.atlassian.com/git/workflows
BP – Pull Requests 
• Review Code 
– natural stage gate for reviewing code 
– comment and refactor 
• Accept and Merge 
– accept changes 
– merge to target branch 
www.atlassian.com/git/workflows#!pull-request
BP – Pull Requests 
www.atlassian.com/git/workflows#!pull-request
BP – Pull Requests 
www.atlassian.com/git/workflows#!pull-request
BP – Pull Requests 
www.atlassian.com/git/workflows#!pull-request
BP – Pull Requests 
www.atlassian.com/git/workflows#!pull-request
BP – Commit & Build 
• Commit & Push frequently 
– refresh from server frequently to incl. all metadata fields 
– push to remote at least daily 
– integrate Config orgs through change sets 
• Pull frequently 
– pull and merge changes to sync with other developers 
– save against org 
• Build regularly 
– frequency dependent on execution time 
– execute non Managed Package tests for performance 
– run with validateOnly in single sandbox scenario
Summary 
• Do it! 
• Build! 
• What to do next 
– Know your Metadata 
– Learn Git (https://try.github.io) 
– Set up tools to match your workflow 
• Search / Ask Questions 
– DevZone 
– Developer Forums 
– Salesforce StackExchange
Services 
You are looking for help setting up or optimizing Continuous Integration? 
I offer expert services for 
• Solution Design 
• Design Authority 
• Platform Governance 
• Practice Development and Dev Ops 
For more details feel free to reach out via LinkedIn 
www.linkedin.com/in/se6wagner
References 
Force.com Development Lifecycle Guide 
http://bit.ly/sf-dlc 
Force.com Migration Tool Guide 
http://bit.ly/sf-ant 
Developer Wiki – CI Techniques 
https://developer.salesforce.com/page/Bestpractices:Continuous_Integration_Techniques 
Mark Cane - CI Thoughts 
http://blog.force365.com/2012/04/16/salesforce-continuous-integration/ 
Anup Jadhav – CI with Bamboo 
http://anupjadhav.com/2013/03/11/salesforce-CI-bamboo-jira/ 
Jeff Douglas – CI with Jenkins 
http://blog.jeffdouglas.com/2013/03/18/setting-up-continuous-integration-for-saleforce-development

More Related Content

What's hot

What's hot (20)

Two-Way Integration with Writable External Objects
Two-Way Integration with Writable External ObjectsTwo-Way Integration with Writable External Objects
Two-Way Integration with Writable External Objects
 
Release and Enviromental Management
Release and Enviromental ManagementRelease and Enviromental Management
Release and Enviromental Management
 
Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?Salesforce DevOps: Where Do You Start?
Salesforce DevOps: Where Do You Start?
 
Apex Trigger Debugging: Solving the Hard Problems
Apex Trigger Debugging: Solving the Hard ProblemsApex Trigger Debugging: Solving the Hard Problems
Apex Trigger Debugging: Solving the Hard Problems
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow Introduction
 
Discover salesforce, dev ops and Copado CI/CD automations
Discover salesforce, dev ops and Copado CI/CD automationsDiscover salesforce, dev ops and Copado CI/CD automations
Discover salesforce, dev ops and Copado CI/CD automations
 
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
 
Using Personas for Salesforce Accessibility and Security
Using Personas for Salesforce Accessibility and SecurityUsing Personas for Salesforce Accessibility and Security
Using Personas for Salesforce Accessibility and Security
 
A prentation on github
A prentation on githubA prentation on github
A prentation on github
 
Performing a successful technical debt assessment in Salesforce
Performing a successful technical debt assessment in SalesforcePerforming a successful technical debt assessment in Salesforce
Performing a successful technical debt assessment in Salesforce
 
Introduction to lightning Web Component
Introduction to lightning Web ComponentIntroduction to lightning Web Component
Introduction to lightning Web Component
 
Salesforce CPQ
Salesforce CPQSalesforce CPQ
Salesforce CPQ
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
 
Migrating To Lightning
Migrating To LightningMigrating To Lightning
Migrating To Lightning
 
Decluttering your Salesfroce org
Decluttering your Salesfroce orgDecluttering your Salesfroce org
Decluttering your Salesfroce org
 
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)Sales Cloud Lightning Migration Best Practices (May 12, 2017)
Sales Cloud Lightning Migration Best Practices (May 12, 2017)
 
The definitive guide to salesforce sandbox flosum
The definitive guide to salesforce sandbox flosumThe definitive guide to salesforce sandbox flosum
The definitive guide to salesforce sandbox flosum
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
 

Viewers also liked

Molekule Pharmaceuticals Marketing Suite Presentation
Molekule Pharmaceuticals Marketing Suite PresentationMolekule Pharmaceuticals Marketing Suite Presentation
Molekule Pharmaceuticals Marketing Suite Presentation
Modicum
 
120. business intelligence modeling for increasing company value and competit...
120. business intelligence modeling for increasing company value and competit...120. business intelligence modeling for increasing company value and competit...
120. business intelligence modeling for increasing company value and competit...
Hendry Hartono
 
EMMF - Sean campbell Competitive Intelligence presentation
EMMF - Sean campbell   Competitive Intelligence presentationEMMF - Sean campbell   Competitive Intelligence presentation
EMMF - Sean campbell Competitive Intelligence presentation
Zoom Industries
 
Symantec Intelligence Report
Symantec Intelligence ReportSymantec Intelligence Report
Symantec Intelligence Report
Symantec
 
EDW_Recommendation_Smartmonk_26-12-14
EDW_Recommendation_Smartmonk_26-12-14EDW_Recommendation_Smartmonk_26-12-14
EDW_Recommendation_Smartmonk_26-12-14
Nagi Reddy B
 
International Competitive Intelligence Report (Boeing, Raytheon, General Dyna...
International Competitive Intelligence Report (Boeing, Raytheon, General Dyna...International Competitive Intelligence Report (Boeing, Raytheon, General Dyna...
International Competitive Intelligence Report (Boeing, Raytheon, General Dyna...
William Callahan
 

Viewers also liked (20)

Molekule Pharmaceuticals Marketing Suite Presentation
Molekule Pharmaceuticals Marketing Suite PresentationMolekule Pharmaceuticals Marketing Suite Presentation
Molekule Pharmaceuticals Marketing Suite Presentation
 
Database Marketing & CRM: Challenges and Opportunities
Database Marketing & CRM: Challenges and OpportunitiesDatabase Marketing & CRM: Challenges and Opportunities
Database Marketing & CRM: Challenges and Opportunities
 
2015 Global Threat Intelligence Report Executive Summary | NTT i3
2015 Global Threat Intelligence Report Executive Summary | NTT i32015 Global Threat Intelligence Report Executive Summary | NTT i3
2015 Global Threat Intelligence Report Executive Summary | NTT i3
 
Best Practices in Implementing Strategic and Competitive Intelligence
Best Practices in Implementing Strategic and Competitive IntelligenceBest Practices in Implementing Strategic and Competitive Intelligence
Best Practices in Implementing Strategic and Competitive Intelligence
 
120. business intelligence modeling for increasing company value and competit...
120. business intelligence modeling for increasing company value and competit...120. business intelligence modeling for increasing company value and competit...
120. business intelligence modeling for increasing company value and competit...
 
Competitive Intelligence 101: An Introduction
Competitive Intelligence 101: An IntroductionCompetitive Intelligence 101: An Introduction
Competitive Intelligence 101: An Introduction
 
Phelps Research Services Experience
Phelps Research Services ExperiencePhelps Research Services Experience
Phelps Research Services Experience
 
Pharma ci-Capabilities-Presentation
Pharma ci-Capabilities-PresentationPharma ci-Capabilities-Presentation
Pharma ci-Capabilities-Presentation
 
Credentialing
CredentialingCredentialing
Credentialing
 
EMMF - Sean campbell Competitive Intelligence presentation
EMMF - Sean campbell   Competitive Intelligence presentationEMMF - Sean campbell   Competitive Intelligence presentation
EMMF - Sean campbell Competitive Intelligence presentation
 
CI Report
CI ReportCI Report
CI Report
 
How Intelligence Accelerates New Client Acquisitions for Law Firms
How Intelligence Accelerates New Client Acquisitions for Law FirmsHow Intelligence Accelerates New Client Acquisitions for Law Firms
How Intelligence Accelerates New Client Acquisitions for Law Firms
 
The Upper Hand of Innovation: Using Competitive Intelligence to Drive Product...
The Upper Hand of Innovation: Using Competitive Intelligence to Drive Product...The Upper Hand of Innovation: Using Competitive Intelligence to Drive Product...
The Upper Hand of Innovation: Using Competitive Intelligence to Drive Product...
 
Symantec Intelligence Report
Symantec Intelligence ReportSymantec Intelligence Report
Symantec Intelligence Report
 
EDW_Recommendation_Smartmonk_26-12-14
EDW_Recommendation_Smartmonk_26-12-14EDW_Recommendation_Smartmonk_26-12-14
EDW_Recommendation_Smartmonk_26-12-14
 
International Competitive Intelligence Report (Boeing, Raytheon, General Dyna...
International Competitive Intelligence Report (Boeing, Raytheon, General Dyna...International Competitive Intelligence Report (Boeing, Raytheon, General Dyna...
International Competitive Intelligence Report (Boeing, Raytheon, General Dyna...
 
American Airlines Competitive Intelligence Report
American Airlines Competitive Intelligence ReportAmerican Airlines Competitive Intelligence Report
American Airlines Competitive Intelligence Report
 
Tennessee Higher Education and the Use of Decision Support Systems in Strate...
Tennessee Higher Education and the Use of Decision Support Systems  in Strate...Tennessee Higher Education and the Use of Decision Support Systems  in Strate...
Tennessee Higher Education and the Use of Decision Support Systems in Strate...
 
COMPETITIVE INTELLIGENCE FOR SALES AND MARKETING: HOW TO WIN MORE OPPORTUNITI...
COMPETITIVE INTELLIGENCE FOR SALES AND MARKETING: HOW TO WIN MORE OPPORTUNITI...COMPETITIVE INTELLIGENCE FOR SALES AND MARKETING: HOW TO WIN MORE OPPORTUNITI...
COMPETITIVE INTELLIGENCE FOR SALES AND MARKETING: HOW TO WIN MORE OPPORTUNITI...
 
Japan’s Middle Market: Crucial. Competitive. Concerned.
Japan’s Middle Market: Crucial. Competitive. Concerned.Japan’s Middle Market: Crucial. Competitive. Concerned.
Japan’s Middle Market: Crucial. Competitive. Concerned.
 

Similar to Automating Deployment Between Orgs Using Git & Continuous Integration

S4H_790 IAM - Authorization Concept Guidelines for S4HANA Cloud.pptx
S4H_790 IAM - Authorization Concept Guidelines for S4HANA Cloud.pptxS4H_790 IAM - Authorization Concept Guidelines for S4HANA Cloud.pptx
S4H_790 IAM - Authorization Concept Guidelines for S4HANA Cloud.pptx
ITAdmin28
 
Utilizing SVN Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN  Jenkins to Manage Multi-line Development to DeploymentsUtilizing SVN  Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN Jenkins to Manage Multi-line Development to Deployments
Teresa Garcia-Bovenmyer ☁
 
Reflections on18monthfederaldevopstransformation2015
Reflections on18monthfederaldevopstransformation2015Reflections on18monthfederaldevopstransformation2015
Reflections on18monthfederaldevopstransformation2015
steelthread
 

Similar to Automating Deployment Between Orgs Using Git & Continuous Integration (20)

DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
 
Continuous Integration - Software development lifecycle for Force.com projects
Continuous Integration - Software development lifecycle for Force.com projectsContinuous Integration - Software development lifecycle for Force.com projects
Continuous Integration - Software development lifecycle for Force.com projects
 
TDX19 - Accelerate DevOps with GitLab and Salesforce
TDX19 - Accelerate DevOps with GitLab and SalesforceTDX19 - Accelerate DevOps with GitLab and Salesforce
TDX19 - Accelerate DevOps with GitLab and Salesforce
 
Self-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release PipelinesSelf-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release Pipelines
 
Meet The Welkin Suite IDE: Product Overview
Meet The Welkin Suite IDE: Product OverviewMeet The Welkin Suite IDE: Product Overview
Meet The Welkin Suite IDE: Product Overview
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressed
 
Salesforce.com Sandbox management
Salesforce.com Sandbox management Salesforce.com Sandbox management
Salesforce.com Sandbox management
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
 
Building Apps Faster with Lightning and Winter '17
Building Apps Faster with Lightning and Winter '17Building Apps Faster with Lightning and Winter '17
Building Apps Faster with Lightning and Winter '17
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17
 
Introducing the Welkin Suite IDE for Salesforce
Introducing the Welkin Suite IDE for SalesforceIntroducing the Welkin Suite IDE for Salesforce
Introducing the Welkin Suite IDE for Salesforce
 
SCM Migration Webinar - English
SCM Migration Webinar - EnglishSCM Migration Webinar - English
SCM Migration Webinar - English
 
Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance Framework
 
Deep Dive into Apex Triggers
Deep Dive into Apex TriggersDeep Dive into Apex Triggers
Deep Dive into Apex Triggers
 
S4H_790 IAM - Authorization Concept Guidelines for S4HANA Cloud.pptx
S4H_790 IAM - Authorization Concept Guidelines for S4HANA Cloud.pptxS4H_790 IAM - Authorization Concept Guidelines for S4HANA Cloud.pptx
S4H_790 IAM - Authorization Concept Guidelines for S4HANA Cloud.pptx
 
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStoreDeveloping Offline Mobile Apps with Salesforce Mobile SDK SmartStore
Developing Offline Mobile Apps with Salesforce Mobile SDK SmartStore
 
Coding in the App Cloud
Coding in the App CloudCoding in the App Cloud
Coding in the App Cloud
 
Utilizing SVN Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN  Jenkins to Manage Multi-line Development to DeploymentsUtilizing SVN  Jenkins to Manage Multi-line Development to Deployments
Utilizing SVN Jenkins to Manage Multi-line Development to Deployments
 
Reflections on18monthfederaldevopstransformation2015
Reflections on18monthfederaldevopstransformation2015Reflections on18monthfederaldevopstransformation2015
Reflections on18monthfederaldevopstransformation2015
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Automating Deployment Between Orgs Using Git & Continuous Integration

  • 1. Automating Deployments Between Orgs Using Git and Continuous Integration Sebastian Wagner Freelance Certified Technical Architect www.linkedin/in/se6wagner
  • 2. Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments andcustomer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. Sebastian Wagner Certified Technical Architect
  • 4. “I cannot teach anybody anything, I can only make them think” Socrates
  • 5. Agenda • Challenges and Issues • Multi-Org Scenarios • Approach • Benefits • Best Practices • Q&A
  • 6. deploying to production on a Friday afternoon
  • 7. Challenges and Issues • keeping orgs in sync as a team • changes get overwritten by other developers • amount of time required for manual deployment • conflicts / errors discovered late in the process • limited traceability of changes
  • 8. Scenarios - SDLC development QA user acceptance tests deployment
  • 10. Scenarios – SDLC Environments
  • 11. Approach – Before The Silver Bullet
  • 12. Approach – (Not) The Silver Bullet
  • 13. Approach – Components • Salesforce Orgs for Development – Sandboxes – DE Orgs • Git for Source Code Management – Github or bitbucket.org for hosting – Command Line / SourceTree / other as a client • Continuous Integration for automated deployments – Jenkins or Bamboo for orchestration – Ant & Force.com Migration Toolkit for deployment
  • 14. Approach – Salesforce Orgs • separate Salesforce Org per developer • dedicated CI Salesforce Org – where all features will be integrated and compiled • Salesforce Org for stages in SDLC – QA (with integrated QA can be done in CI) – UAT – Pre-Prod
  • 15. Approach - git • store source code & metadata – Apex and Visualforce Code – min. include referenced components required for deployment • track changes • isolate features and stages of the SDLC – branches for isolation of features and stages – tags for releases and versioning • store supporting resources – reference/ config data for migration – Integration config, test scripts, etc,
  • 16. Approach – git (commands) • git clone • git commit • git push • git pull • force deploy
  • 17. Approach - CI • Automation – ant based deployment from git repository – execution of supporting tasks – notifications on build errors – Reporting • Setup – data migration (test and/or config data) – execution of setup scripts • Testing – Unit test execution – UI test execution
  • 19. when a build has no errors http://thecodinglove.com/post/86204416476/when-a-build-has-no-errors
  • 20. Benefits • Source Code ‘Backup’ • Automation – automated deployment to multiple orgs – automated test execution – eliminate human error from deployment • Visibility – The 5Ws of a change – Who What When Where Why • Validation – issues get detected early in the process – resolve issues close to cause
  • 21. Best Practices • start simple • automate as much as possible • integrate with your ticketing system • use git branching model and tags • pull requests to merge features • commit & build regularly • maintain destructive changes log
  • 22. BP – Ticketing Integration
  • 23. BP – Ticketing Integration
  • 24. BP – Gitflow Branching • Master – The holy grail aka Production • Hotfix – maintenance outside of dev • Release – ready for UAT • Develop – main development stream • Feature – individual feature / story www.atlassian.com/git/workflows
  • 25. BP – Gitflow Orgs www.atlassian.com/git/workflows
  • 26. BP – Pull Requests • Review Code – natural stage gate for reviewing code – comment and refactor • Accept and Merge – accept changes – merge to target branch www.atlassian.com/git/workflows#!pull-request
  • 27. BP – Pull Requests www.atlassian.com/git/workflows#!pull-request
  • 28. BP – Pull Requests www.atlassian.com/git/workflows#!pull-request
  • 29. BP – Pull Requests www.atlassian.com/git/workflows#!pull-request
  • 30. BP – Pull Requests www.atlassian.com/git/workflows#!pull-request
  • 31. BP – Commit & Build • Commit & Push frequently – refresh from server frequently to incl. all metadata fields – push to remote at least daily – integrate Config orgs through change sets • Pull frequently – pull and merge changes to sync with other developers – save against org • Build regularly – frequency dependent on execution time – execute non Managed Package tests for performance – run with validateOnly in single sandbox scenario
  • 32. Summary • Do it! • Build! • What to do next – Know your Metadata – Learn Git (https://try.github.io) – Set up tools to match your workflow • Search / Ask Questions – DevZone – Developer Forums – Salesforce StackExchange
  • 33. Services You are looking for help setting up or optimizing Continuous Integration? I offer expert services for • Solution Design • Design Authority • Platform Governance • Practice Development and Dev Ops For more details feel free to reach out via LinkedIn www.linkedin.com/in/se6wagner
  • 34.
  • 35. References Force.com Development Lifecycle Guide http://bit.ly/sf-dlc Force.com Migration Tool Guide http://bit.ly/sf-ant Developer Wiki – CI Techniques https://developer.salesforce.com/page/Bestpractices:Continuous_Integration_Techniques Mark Cane - CI Thoughts http://blog.force365.com/2012/04/16/salesforce-continuous-integration/ Anup Jadhav – CI with Bamboo http://anupjadhav.com/2013/03/11/salesforce-CI-bamboo-jira/ Jeff Douglas – CI with Jenkins http://blog.jeffdouglas.com/2013/03/18/setting-up-continuous-integration-for-saleforce-development

Editor's Notes

  1. 1
  2. 1 Key Takeaway: We are a publicly traded company. Please make your buying decisions only on the products commercially available from Salesforce.com. Talk Track: Before I begin, just a quick note that when considering future developments, whether by us or with any other solution provider, you should always base your purchasing decisions on what is currently available.
  3. 2
  4. 1
  5. 2 Who has done a deployment? Have you used change sets Have you used Force.com IDE Have you used a built server? Who has been working with CI? Who’s using git already? Who has made changes directly in production?
  6. 2 ----- Meeting Notes (19/05/2014 12:31) -----
  7. 2
  8. 2
  9. 2
  10. 2
  11. 1
  12. 1
  13. 1 CI only built through CI
  14. 1
  15. 1
  16. 1
  17. 2
  18. 1
  19. 2
  20. 2
  21. 2
  22. 2 Not required, but recommended
  23. 2 Not required, but recommended
  24. 2
  25. 2
  26. 2
  27. 2
  28. 2
  29. 1
  30. 1
  31. 1