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

Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucketSumin Byeon
 
DevOps Monitoring and Alerting
DevOps Monitoring and AlertingDevOps Monitoring and Alerting
DevOps Monitoring and AlertingKhairul Zebua
 
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
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgSalesforce Developers
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsGlobalLogic Ukraine
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteWeaveworks
 
Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionIntroduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionAnwarul Islam
 
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...Sam Garforth
 
Best practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on SalesforceBest practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on SalesforceAIMDek Technologies
 
Best Practices for Successful Deployment
Best Practices for Successful DeploymentBest Practices for Successful Deployment
Best Practices for Successful DeploymentSalesforce 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 ☁️
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101Hazzim Anaya
 

What's hot (20)

Git
GitGit
Git
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
DevOps Monitoring and Alerting
DevOps Monitoring and AlertingDevOps Monitoring and Alerting
DevOps Monitoring and Alerting
 
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...
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single Org
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event Keynote
 
CI/CD
CI/CDCI/CD
CI/CD
 
Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionIntroduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training Session
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
Community cloud運用開発の基礎
Community cloud運用開発の基礎Community cloud運用開発の基礎
Community cloud運用開発の基礎
 
Git
GitGit
Git
 
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...
 
Best practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on SalesforceBest practices for implementing CI/CD on Salesforce
Best practices for implementing CI/CD on Salesforce
 
Best Practices for Successful Deployment
Best Practices for Successful DeploymentBest Practices for Successful Deployment
Best Practices for Successful Deployment
 
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
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git n git hub
Git n git hubGit n git hub
Git n git hub
 

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
 
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 ☁
 
Reflections on18monthfederaldevopstransformation2015
Reflections on18monthfederaldevopstransformation2015Reflections on18monthfederaldevopstransformation2015
Reflections on18monthfederaldevopstransformation2015steelthread
 

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
 
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
 
Reflections on18monthfederaldevopstransformation2015
Reflections on18monthfederaldevopstransformation2015Reflections on18monthfederaldevopstransformation2015
Reflections on18monthfederaldevopstransformation2015
 

Recently uploaded

H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
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
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
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
 
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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Recently uploaded (20)

H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
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!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

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