SlideShare una empresa de Scribd logo
1 de 17
Continuous Integration for
Force.com Projects
Don McIntosh
@donmac23
Continuous Integration
Automating software build and release
processes with built in quality control
Change Sets
Sandbox Flow for Small Teams
Deployment via Changesets
Dev Dev
QA
UAT
Prod
Dev Dev
Do I Need Better CI?
• IF you:
– find it hard to manage changed components
– have devs overwriting each other’s code
– find collaboration between developers difficult
– want earlier/more frequent integration between
devs’ work
– want a more detailed change history
• OR:
– are working in independent dev orgs
Benefits
• Supports Agile process well
• Scales to large teams
• Detailed, auditable version history
• Flexible version control
• Easy(ish) to set up new Orgs
• Works on any set of Orgs, not just related
sandboxes + prod
What Do I Need?
• CI Tool (Jenkins, Bamboo, Teamcity…)
• Server for CI (or find a hosted service)
• SCM (Git, SVN…)
• Ant + Force.com Migration Tool
• Shared list for manual changes
• Development process
• Package.xml contents
Dev
Dev
Dev
CI
Test
UAT
Prod
Release Management
Master (prod) Develop (CI) QA UAT
Time
Basic CI with Jenkins
• Automated checks run on each change to
source code (and/or config)
• Prominent success/failure notification
• Easy deployment to multiple Orgs
• Build statistics
• Build history and status for each Org
• Demo…
Multiple update scenario
• Fred:
– Deletes field “Segment” from Account and
replaces it with standard field “Industry” on
Account page layout “Food Service Corporate
Accounts”
• Don:
– Adding the field “SIC Description” to the same
page layout
Salesforce Challenges & Solutions
• Reconciling profile changes
• Preventing regression back to obsolete config
Useful Improvements
• Automated code analysis (eg: Village Chief’s
Codescan)
• System tests
• Refresh sample records in test Orgs
• Reports (eg: metadata summaries)
• Direct integration with issue tracking software
A Few Tips
• Pull often, not just when you are about to
push
• Refresh from prod to bypass manual steps
• Expect some road bumps, especially early on
• Build light is genuinely useful
• Use a physical token for committing changes
• Pay some attention to keeping unit tests fast
Thanks!

Más contenido relacionado

La actualidad más candente

Team Foundation Server Version Control
Team Foundation Server Version ControlTeam Foundation Server Version Control
Team Foundation Server Version ControlSteve Lange
 
Team Foundation Server Demo
Team Foundation Server DemoTeam Foundation Server Demo
Team Foundation Server Demophase2int
 
Power shell saturday ravikanth
Power shell saturday  ravikanthPower shell saturday  ravikanth
Power shell saturday ravikanthRavikanth Chaganti
 
Salesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for DeploymentSalesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for DeploymentSalesforce Developers
 
PowerShell DSC Partial Configurations and Cross-node Synchronization
PowerShell DSC Partial Configurations and Cross-node SynchronizationPowerShell DSC Partial Configurations and Cross-node Synchronization
PowerShell DSC Partial Configurations and Cross-node SynchronizationRavikanth Chaganti
 
What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013Danijel Malik
 
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...Perforce
 
TFS Administration Overview
TFS Administration OverviewTFS Administration Overview
TFS Administration OverviewSteve Lange
 
[Curitiba DEV DAY] - Novidades do TFS 2015
[Curitiba DEV DAY] -  Novidades do TFS 2015[Curitiba DEV DAY] -  Novidades do TFS 2015
[Curitiba DEV DAY] - Novidades do TFS 2015Leandro Prado
 
Install, configure and customize TFS 2013
Install, configure and customize TFS 2013Install, configure and customize TFS 2013
Install, configure and customize TFS 2013Davide Benvegnù
 
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...Serena Software
 
Salesforce Release Management and Continuous Integration with AutoRABIT
Salesforce Release Management and Continuous Integration with AutoRABITSalesforce Release Management and Continuous Integration with AutoRABIT
Salesforce Release Management and Continuous Integration with AutoRABITAutoRABIT
 
Embracing Git and Distributed Teams
Embracing Git and Distributed TeamsEmbracing Git and Distributed Teams
Embracing Git and Distributed TeamsPerforce
 
BDT Workflow
BDT WorkflowBDT Workflow
BDT Workflowlrotter
 
Operations Validation for Infrastructure As Code - PSConfEU 2016
Operations Validation for Infrastructure As Code - PSConfEU 2016Operations Validation for Infrastructure As Code - PSConfEU 2016
Operations Validation for Infrastructure As Code - PSConfEU 2016Ravikanth Chaganti
 
Release Management in TFS 2015
Release Management in TFS 2015Release Management in TFS 2015
Release Management in TFS 2015InCycleSoftware
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksInCycleSoftware
 
Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015Chris Kadel, MBA
 
Techniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development CycleTechniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development CycleSalesforce Developers
 

La actualidad más candente (20)

Team Foundation Server Version Control
Team Foundation Server Version ControlTeam Foundation Server Version Control
Team Foundation Server Version Control
 
Team Foundation Server Demo
Team Foundation Server DemoTeam Foundation Server Demo
Team Foundation Server Demo
 
Power shell saturday ravikanth
Power shell saturday  ravikanthPower shell saturday  ravikanth
Power shell saturday ravikanth
 
Salesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for DeploymentSalesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for Deployment
 
PowerShell DSC Partial Configurations and Cross-node Synchronization
PowerShell DSC Partial Configurations and Cross-node SynchronizationPowerShell DSC Partial Configurations and Cross-node Synchronization
PowerShell DSC Partial Configurations and Cross-node Synchronization
 
What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013
 
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
 
Designing Scalable Applications
Designing Scalable ApplicationsDesigning Scalable Applications
Designing Scalable Applications
 
TFS Administration Overview
TFS Administration OverviewTFS Administration Overview
TFS Administration Overview
 
[Curitiba DEV DAY] - Novidades do TFS 2015
[Curitiba DEV DAY] -  Novidades do TFS 2015[Curitiba DEV DAY] -  Novidades do TFS 2015
[Curitiba DEV DAY] - Novidades do TFS 2015
 
Install, configure and customize TFS 2013
Install, configure and customize TFS 2013Install, configure and customize TFS 2013
Install, configure and customize TFS 2013
 
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
Introducing Serena Dimensions CM 14, Discussion and product demonstration (We...
 
Salesforce Release Management and Continuous Integration with AutoRABIT
Salesforce Release Management and Continuous Integration with AutoRABITSalesforce Release Management and Continuous Integration with AutoRABIT
Salesforce Release Management and Continuous Integration with AutoRABIT
 
Embracing Git and Distributed Teams
Embracing Git and Distributed TeamsEmbracing Git and Distributed Teams
Embracing Git and Distributed Teams
 
BDT Workflow
BDT WorkflowBDT Workflow
BDT Workflow
 
Operations Validation for Infrastructure As Code - PSConfEU 2016
Operations Validation for Infrastructure As Code - PSConfEU 2016Operations Validation for Infrastructure As Code - PSConfEU 2016
Operations Validation for Infrastructure As Code - PSConfEU 2016
 
Release Management in TFS 2015
Release Management in TFS 2015Release Management in TFS 2015
Release Management in TFS 2015
 
Tfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and Tricks
 
Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015Microsoft Team Foundation Server Build 2015
Microsoft Team Foundation Server Build 2015
 
Techniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development CycleTechniques and Tools to Improve the Salesforce Development Cycle
Techniques and Tools to Improve the Salesforce Development Cycle
 

Similar a Ci for force dot com

VSTS Migration Briefing
VSTS Migration BriefingVSTS Migration Briefing
VSTS Migration BriefingAngela Dugan
 
Database Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest HwangDatabase Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest HwangRed Gate Software
 
Why retail companies can't afford database downtime
Why retail companies can't afford database downtimeWhy retail companies can't afford database downtime
Why retail companies can't afford database downtimeDBmaestro - Database DevOps
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Emerasoft, solutions to collaborate
 
Microsoft SQL Server Continuous Integration
Microsoft SQL Server Continuous IntegrationMicrosoft SQL Server Continuous Integration
Microsoft SQL Server Continuous IntegrationMark Ginnebaugh
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro - Database DevOps
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?Vincent Biret
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins IntroductionPavan Gupta
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudJeremy Likness
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFSMehdi Khalili
 
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...WSO2
 
The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationDBmaestro - Database DevOps
 
Sps monaco vincent biret spfx devops
Sps monaco vincent biret spfx devopsSps monaco vincent biret spfx devops
Sps monaco vincent biret spfx devopsVincent Biret
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the DatabaseMichaela Murray
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
Team Foundation Server 2010 - Overview
Team Foundation Server 2010 - OverviewTeam Foundation Server 2010 - Overview
Team Foundation Server 2010 - OverviewSteve Lange
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+OpsShalu Ahuja
 
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...SPS Monaco
 

Similar a Ci for force dot com (20)

VSTS Migration Briefing
VSTS Migration BriefingVSTS Migration Briefing
VSTS Migration Briefing
 
Database Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest HwangDatabase Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest Hwang
 
Why retail companies can't afford database downtime
Why retail companies can't afford database downtimeWhy retail companies can't afford database downtime
Why retail companies can't afford database downtime
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
Webinar: "DBMaestro: Database Enforced Change Management (DECM) tool"
 
In (database) automation we trust
In (database) automation we trustIn (database) automation we trust
In (database) automation we trust
 
Microsoft SQL Server Continuous Integration
Microsoft SQL Server Continuous IntegrationMicrosoft SQL Server Continuous Integration
Microsoft SQL Server Continuous Integration
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
 
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
#ESPC18 How to do #devops with the #SharePoint Framework and why it matters?
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFS
 
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
 
The challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automationThe challenges and pitfalls of database deployment automation
The challenges and pitfalls of database deployment automation
 
Sps monaco vincent biret spfx devops
Sps monaco vincent biret spfx devopsSps monaco vincent biret spfx devops
Sps monaco vincent biret spfx devops
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the Database
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Team Foundation Server 2010 - Overview
Team Foundation Server 2010 - OverviewTeam Foundation Server 2010 - Overview
Team Foundation Server 2010 - Overview
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
 

Último

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 

Último (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 

Ci for force dot com

  • 1. Continuous Integration for Force.com Projects Don McIntosh @donmac23
  • 2.
  • 3. Continuous Integration Automating software build and release processes with built in quality control
  • 5. Sandbox Flow for Small Teams
  • 6. Deployment via Changesets Dev Dev QA UAT Prod Dev Dev
  • 7. Do I Need Better CI? • IF you: – find it hard to manage changed components – have devs overwriting each other’s code – find collaboration between developers difficult – want earlier/more frequent integration between devs’ work – want a more detailed change history • OR: – are working in independent dev orgs
  • 8. Benefits • Supports Agile process well • Scales to large teams • Detailed, auditable version history • Flexible version control • Easy(ish) to set up new Orgs • Works on any set of Orgs, not just related sandboxes + prod
  • 9. What Do I Need? • CI Tool (Jenkins, Bamboo, Teamcity…) • Server for CI (or find a hosted service) • SCM (Git, SVN…) • Ant + Force.com Migration Tool • Shared list for manual changes • Development process • Package.xml contents
  • 11. Release Management Master (prod) Develop (CI) QA UAT Time
  • 12. Basic CI with Jenkins • Automated checks run on each change to source code (and/or config) • Prominent success/failure notification • Easy deployment to multiple Orgs • Build statistics • Build history and status for each Org • Demo…
  • 13. Multiple update scenario • Fred: – Deletes field “Segment” from Account and replaces it with standard field “Industry” on Account page layout “Food Service Corporate Accounts” • Don: – Adding the field “SIC Description” to the same page layout
  • 14. Salesforce Challenges & Solutions • Reconciling profile changes • Preventing regression back to obsolete config
  • 15. Useful Improvements • Automated code analysis (eg: Village Chief’s Codescan) • System tests • Refresh sample records in test Orgs • Reports (eg: metadata summaries) • Direct integration with issue tracking software
  • 16. A Few Tips • Pull often, not just when you are about to push • Refresh from prod to bypass manual steps • Expect some road bumps, especially early on • Build light is genuinely useful • Use a physical token for committing changes • Pay some attention to keeping unit tests fast

Notas del editor

  1. UAT – usually full copy; QA might be a dev pro or partial copy Some probs: confusion because of decentralised nature Constant version updates as components are added
  2. Dev process: not talking a lot about it but important to have stuff like peer review and definition of done, test handovers etc part of the process
  3. In demo: Show how to make a change: Pull Resolve conflicts Commit and push change Red light! Failed build due to old field still existing (didn’t build locally first, didn’t check manual changes) Fix build and push again Green light! Explain: How Jenkins is configured to auto-execute builds How Jenkins can kick off manual builds How you would git merge to test branch to deploy to testing (but don’t bother showing) Jenkins: - Show OC’s Jenkins with more history, scripts, build times chart etc
  4. Mention blog about unit tests speed up if you have written it