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

Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)Laurent Bernaille
 
Observability - Stockholm Splunk UG Jan 19 2023.pptx
Observability - Stockholm Splunk UG Jan 19 2023.pptxObservability - Stockholm Splunk UG Jan 19 2023.pptx
Observability - Stockholm Splunk UG Jan 19 2023.pptxMagnus Johansson
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICDKnoldus Inc.
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow IntroductionDavid Paluy
 
Introduction of cloud native CI/CD on kubernetes
Introduction of cloud native CI/CD on kubernetesIntroduction of cloud native CI/CD on kubernetes
Introduction of cloud native CI/CD on kubernetesKyohei Mizumoto
 
DevOps with GitHub Actions
DevOps with GitHub ActionsDevOps with GitHub Actions
DevOps with GitHub ActionsNilesh Gule
 
CI-Jenkins.pptx
CI-Jenkins.pptxCI-Jenkins.pptx
CI-Jenkins.pptxMEDOBEST1
 
和艦長一起玩轉 GitLab & GitLab Workflow
和艦長一起玩轉 GitLab & GitLab Workflow和艦長一起玩轉 GitLab & GitLab Workflow
和艦長一起玩轉 GitLab & GitLab WorkflowChen Cheng-Wei
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentationMack Hardy
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIDavid Hahn
 
Free GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOpsFree GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOpsWeaveworks
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Gitatishgoswami
 
Devops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabDevops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabFilipa Lacerda
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...Weaveworks
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams Atlassian
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deployThibaud Gravrand
 

What's hot (20)

Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)
 
github-actions.pdf
github-actions.pdfgithub-actions.pdf
github-actions.pdf
 
Observability - Stockholm Splunk UG Jan 19 2023.pptx
Observability - Stockholm Splunk UG Jan 19 2023.pptxObservability - Stockholm Splunk UG Jan 19 2023.pptx
Observability - Stockholm Splunk UG Jan 19 2023.pptx
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow Introduction
 
Git basics
Git basicsGit basics
Git basics
 
Introduction of cloud native CI/CD on kubernetes
Introduction of cloud native CI/CD on kubernetesIntroduction of cloud native CI/CD on kubernetes
Introduction of cloud native CI/CD on kubernetes
 
DevOps with GitHub Actions
DevOps with GitHub ActionsDevOps with GitHub Actions
DevOps with GitHub Actions
 
CI-Jenkins.pptx
CI-Jenkins.pptxCI-Jenkins.pptx
CI-Jenkins.pptx
 
和艦長一起玩轉 GitLab & GitLab Workflow
和艦長一起玩轉 GitLab & GitLab Workflow和艦長一起玩轉 GitLab & GitLab Workflow
和艦長一起玩轉 GitLab & GitLab Workflow
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Free GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOpsFree GitOps Workshop + Intro to Kubernetes & GitOps
Free GitOps Workshop + Intro to Kubernetes & GitOps
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Devops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabDevops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at Gitlab
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Github PowerPoint Final
Github PowerPoint FinalGithub PowerPoint Final
Github PowerPoint Final
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
 

Viewers also liked

Molekule Pharmaceuticals Marketing Suite Presentation
Molekule Pharmaceuticals Marketing Suite PresentationMolekule Pharmaceuticals Marketing Suite Presentation
Molekule Pharmaceuticals Marketing Suite PresentationModicum
 
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 i3NTT Innovation Institute Inc.
 
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 IntelligenceACRASIO
 
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
 
Competitive Intelligence 101: An Introduction
Competitive Intelligence 101: An IntroductionCompetitive Intelligence 101: An Introduction
Competitive Intelligence 101: An Introductionpatmcgraw
 
Phelps Research Services Experience
Phelps Research Services ExperiencePhelps Research Services Experience
Phelps Research Services Experiencerphelpsmadison
 
Pharma ci-Capabilities-Presentation
Pharma ci-Capabilities-PresentationPharma ci-Capabilities-Presentation
Pharma ci-Capabilities-PresentationiData Insights
 
EMMF - Sean campbell Competitive Intelligence presentation
EMMF - Sean campbell   Competitive Intelligence presentationEMMF - Sean campbell   Competitive Intelligence presentation
EMMF - Sean campbell Competitive Intelligence presentationZoom Industries
 
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 FirmsIntelCollab.com
 
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...Arik Johnson
 
Symantec Intelligence Report
Symantec Intelligence ReportSymantec Intelligence Report
Symantec Intelligence ReportSymantec
 
EDW_Recommendation_Smartmonk_26-12-14
EDW_Recommendation_Smartmonk_26-12-14EDW_Recommendation_Smartmonk_26-12-14
EDW_Recommendation_Smartmonk_26-12-14Nagi 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
 
American Airlines Competitive Intelligence Report
American Airlines Competitive Intelligence ReportAmerican Airlines Competitive Intelligence Report
American Airlines Competitive Intelligence ReportBrandon Thomson
 
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...Jeff Hinds
 
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...HubSpot
 
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.The Economist Media Businesses
 

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

DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudrsg00usa
 
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 projectsAldo Fernandez
 
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 SalesforceDoug Ayers
 
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 PipelinesSalesforce Engineering
 
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 OverviewSalesforce Developers
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressedrikkehovgaard
 
Salesforce.com Sandbox management
Salesforce.com Sandbox management Salesforce.com Sandbox management
Salesforce.com Sandbox management Ali Akbar
 
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 '17Mark Adcock
 
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 '17Salesforce Developers
 
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 & AgileSai Jithesh ☁️
 
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 SalesforceSalesforce Developers
 
SCM Migration Webinar - English
SCM Migration Webinar - EnglishSCM Migration Webinar - English
SCM Migration Webinar - EnglishCollabNet
 
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 FrameworkSalesforce Developers
 
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.pptxITAdmin28
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITVishnu Raju Datla
 
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 SmartStoreTom Gersic
 
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 DeploymentsTeresa Garcia-Bovenmyer ☁
 

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
 
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
 
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
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 
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
 

Recently uploaded

"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
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
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
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

"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
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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)
 
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?
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

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