SlideShare a Scribd company logo
The Force.com Migration tool, GIT
and You
ANT and GIT: an offensive and defensive strategy for
Source Control Management
Kyle Bowerman, Appirio/Cloudspokes, Technical Architect
@kylebowerman
Kyle Bowerman
Appirio / Cloudspokes TA
@kylebowerman
Just four commands can change you life!

ant
git
git
git

fetchmyorg
add .
commit –a –m ’auto commit’
push origin
Topics we will cover today
▪ANT (Force.com migration tool)

▪GIT

• Basic deploy
• Basic Fetch

• Git Concepts
• Bug fix example

▪ Defensive SCM strategy
• Monitor changes daily
• Forensics tool

▪ Offensive SCM strategy
• Release packages
• Directory structures
• Cloud repositories and Tools
Ant for retrieve,

still just three files (defensive)

build.properties = login, password and serverurl
build.xml = what to do
Unpackge-all.xml = what to get (supports * wildcards)

Ant fetchdev3
Ant for deployment,

same three files (offensive)

build.properties = login, password and serverurl
package.xml = the manifest (what to deploy)
build.xml = the instructions of what to do <target>
What is GIT and why use it
▪ 3rd Generation
▪ Ubiquitous standard
▪ Highly distributed and easy
▪ Easy to branch, merge and audit
▪ Cloud repos offer additional services like issue tracking and wiki

git clone https://github.com/forcedotcom/aura.git
Git concepts and commands
clone
remote
branch
fetch
pull
push

checkout
merge
add
commit
log
tag

pull:
brings down
push:
latest src

repo

fetch:
brings down
latest src
from repo to
HEAD

puts latest
and merges
commit into
it into current
repo
branch

branch:

Local

copies the master branch

clone: gets the code from
the remote, do once
Daily snapshots: defensive example
ant
git
git
git

fetchmyorg
add .
commit –a –m ’auto commit’
push origin
Classic bug fix: offensive example
git clone http://github/user/reponame
git checkout –b issue49
change code and test
git commit –a –m ‘fixed issue #49’
git checkout master
git merge issue49
git push origin
What you git
What you git
detail of a commit

• link to issue (github)
• commit message
• author and date
• summary of change
• diff of each change
• detail of each file
Two options for directory structures for salesforce.
com orgs
Use 1 branch per org
▪ SRC

Use a sub dir per org
▪ Orgs

▪ packages

• Prod/SRC

▪ docs

• Dev/SRC

▪ data
▪ scripts
▪ readme.md
▪ build.xml
▪ unpackage-all.xml

• Testing/SRC

▪ docs
▪ packages
▪ data
▪ readme.md
▪ build.xml
Options for version numbering your release
Major.Minor.release#
Project.Feature.Sprint#.Hotfix#
Project.ApiVersion.model.release#

1.2.31
1.0.6.1
2.29.14.27

You can use any versioning schema you want or create you own.
The important thing is that everyone understands what each digit
means, and you have a release note for each release.
Git Cloud Repositories
▪ Github
• No free repos
• Industry standard for open source
• Wiki and Issue tracker
• Smart Commits

▪ Bitbucket
• Unlimited private repos (but only 5 users)
• From Atlassian
• Side by side diffs
Git GUIs:
All About Appirio and Cloudspokes
Appirio is a global service company that uses traditional
consulting, crowd sourcing and cloud, social and mobile
technology to help enterprises dramatically improve the way
they do business.

Cloudspokes is Appirio’s crowd sourcing business unit.
With it’s recent acquisition of TopCoder.com, it provides a
resource of nearly 600k developers world wide to provide
customer solutions
Kyle Bowerman
Technical Architect
@kylebowerman
We want to hear
from YOU!
Please take a moment to complete our
session survey
Surveys can be found in the “My Agenda”
portion of the Dreamforce app
Manage Org Changes Using the Force.com Migration Tool and Git

More Related Content

PDF
Introduction to Git for Force.com Developers
PPT
Dreamforce 13 developer session: Git for Force.com developers
PDF
Team Development on Force.com with Github and Ant
PPTX
Team Development & Continuous Integration on the Salesforce Platform
PDF
Continuous Integration - Software development lifecycle for Force.com projects
PDF
Fun with Jenkins & Salesforce
PDF
Introduction to Enterprise-Release Engineering on the Salesforce Platform
PPTX
Continuous Integration In The Cloud Final (1)
Introduction to Git for Force.com Developers
Dreamforce 13 developer session: Git for Force.com developers
Team Development on Force.com with Github and Ant
Team Development & Continuous Integration on the Salesforce Platform
Continuous Integration - Software development lifecycle for Force.com projects
Fun with Jenkins & Salesforce
Introduction to Enterprise-Release Engineering on the Salesforce Platform
Continuous Integration In The Cloud Final (1)

What's hot (20)

PPTX
Automating Deployment Between Orgs Using Git & Continuous Integration
PDF
Automating the Impossible: End to End Team Development for ISVs (October 14, ...
PPTX
Salesforce Continuous Integration with AutoRABIT
PPTX
Techniques and Tools to Improve the Salesforce Development Cycle
PDF
5 Essentials for Simplifiied Release Management and Continuous Delivery
PPTX
Scaling Continuous Integration for Puppet
PDF
Best Practices for Successful Deployment
PDF
Release Management for Large Enterprises
PPTX
Best practices for implementing CI/CD on Salesforce
PDF
Continuous Integration and Testing with Branch Orgs
PPTX
Salesforce Release Management and Continuous Integration with AutoRABIT
PPTX
DevOps in Salesforce AppCloud
PPTX
The definitive guide to salesforce sandbox flosum
PPTX
Continuous Integration for Salesforce1 Platform
PDF
Webinar: From Sandbox to Production: Demystifying Force.com Release Managemen...
PDF
Git and Git Workflow Models as Catalysts of Software Development
PDF
A Story of Continuous Integration
PDF
CI-solutions-Versus-AutoRABIT
PPTX
Triggers for Admins: A Five-step Framework for Creating Triggers
PPTX
Branching and Merging Practices
Automating Deployment Between Orgs Using Git & Continuous Integration
Automating the Impossible: End to End Team Development for ISVs (October 14, ...
Salesforce Continuous Integration with AutoRABIT
Techniques and Tools to Improve the Salesforce Development Cycle
5 Essentials for Simplifiied Release Management and Continuous Delivery
Scaling Continuous Integration for Puppet
Best Practices for Successful Deployment
Release Management for Large Enterprises
Best practices for implementing CI/CD on Salesforce
Continuous Integration and Testing with Branch Orgs
Salesforce Release Management and Continuous Integration with AutoRABIT
DevOps in Salesforce AppCloud
The definitive guide to salesforce sandbox flosum
Continuous Integration for Salesforce1 Platform
Webinar: From Sandbox to Production: Demystifying Force.com Release Managemen...
Git and Git Workflow Models as Catalysts of Software Development
A Story of Continuous Integration
CI-solutions-Versus-AutoRABIT
Triggers for Admins: A Five-step Framework for Creating Triggers
Branching and Merging Practices
Ad

Similar to Manage Org Changes Using the Force.com Migration Tool and Git (20)

PDF
Git Mastery
PPTX
Git/Github & Salesforce
PPTX
Introduction to GitHub, Open Source and Tech Article
PDF
Be a Happier Developer with Git / Productive Team #gettinggitright
PDF
Harvard ABCD-WWW Git presentation
PDF
Git and github - Verson Control for the Modern Developer
PDF
Git introduction for Beginners
PDF
Source Control with Git & GitHub
PDF
GitWorkFlow
PPTX
Making the Move to Git
PPTX
Git: Why And How to
PPTX
git github PPT_GDSCIIITK.pptx
PDF
Git Pocket Guide A Working Introduction 1st Edition Richard E. Silverman
PPTX
Git and Github.pptx
PDF
[Perforce] Git Fusion
PPTX
Open source
PDF
Gitting better
PDF
True Git
PDF
Git Version Control for the Complete N00b by Adam LaBarge
PPTX
Lets git to it
Git Mastery
Git/Github & Salesforce
Introduction to GitHub, Open Source and Tech Article
Be a Happier Developer with Git / Productive Team #gettinggitright
Harvard ABCD-WWW Git presentation
Git and github - Verson Control for the Modern Developer
Git introduction for Beginners
Source Control with Git & GitHub
GitWorkFlow
Making the Move to Git
Git: Why And How to
git github PPT_GDSCIIITK.pptx
Git Pocket Guide A Working Introduction 1st Edition Richard E. Silverman
Git and Github.pptx
[Perforce] Git Fusion
Open source
Gitting better
True Git
Git Version Control for the Complete N00b by Adam LaBarge
Lets git to it
Ad

More from Salesforce Developers (20)

PDF
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
PDF
Maximizing Salesforce Lightning Experience and Lightning Component Performance
PDF
Local development with Open Source Base Components
PPTX
TrailheaDX India : Developer Highlights
PDF
Why developers shouldn’t miss TrailheaDX India
PPTX
CodeLive: Build Lightning Web Components faster with Local Development
PPTX
CodeLive: Converting Aura Components to Lightning Web Components
PPTX
Enterprise-grade UI with open source Lightning Web Components
PPTX
TrailheaDX and Summer '19: Developer Highlights
PDF
Live coding with LWC
PDF
Lightning web components - Episode 4 : Security and Testing
PDF
LWC Episode 3- Component Communication and Aura Interoperability
PDF
Lightning web components episode 2- work with salesforce data
PDF
Lightning web components - Episode 1 - An Introduction
PDF
Migrating CPQ to Advanced Calculator and JSQCP
PDF
Scale with Large Data Volumes and Big Objects in Salesforce
PDF
Replicate Salesforce Data in Real Time with Change Data Capture
PDF
Modern Development with Salesforce DX
PDF
Get Into Lightning Flow Development
PDF
Integrate CMS Content Into Lightning Communities with CMS Connect
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Local development with Open Source Base Components
TrailheaDX India : Developer Highlights
Why developers shouldn’t miss TrailheaDX India
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Converting Aura Components to Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
TrailheaDX and Summer '19: Developer Highlights
Live coding with LWC
Lightning web components - Episode 4 : Security and Testing
LWC Episode 3- Component Communication and Aura Interoperability
Lightning web components episode 2- work with salesforce data
Lightning web components - Episode 1 - An Introduction
Migrating CPQ to Advanced Calculator and JSQCP
Scale with Large Data Volumes and Big Objects in Salesforce
Replicate Salesforce Data in Real Time with Change Data Capture
Modern Development with Salesforce DX
Get Into Lightning Flow Development
Integrate CMS Content Into Lightning Communities with CMS Connect

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Big Data Technologies - Introduction.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
sap open course for s4hana steps from ECC to s4
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Electronic commerce courselecture one. Pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
20250228 LYD VKU AI Blended-Learning.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Big Data Technologies - Introduction.pptx
Machine learning based COVID-19 study performance prediction
Building Integrated photovoltaic BIPV_UPV.pdf
Empathic Computing: Creating Shared Understanding
Programs and apps: productivity, graphics, security and other tools
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Chapter 3 Spatial Domain Image Processing.pdf
sap open course for s4hana steps from ECC to s4

Manage Org Changes Using the Force.com Migration Tool and Git

  • 1. The Force.com Migration tool, GIT and You ANT and GIT: an offensive and defensive strategy for Source Control Management Kyle Bowerman, Appirio/Cloudspokes, Technical Architect @kylebowerman
  • 2. Kyle Bowerman Appirio / Cloudspokes TA @kylebowerman
  • 3. Just four commands can change you life! ant git git git fetchmyorg add . commit –a –m ’auto commit’ push origin
  • 4. Topics we will cover today ▪ANT (Force.com migration tool) ▪GIT • Basic deploy • Basic Fetch • Git Concepts • Bug fix example ▪ Defensive SCM strategy • Monitor changes daily • Forensics tool ▪ Offensive SCM strategy • Release packages • Directory structures • Cloud repositories and Tools
  • 5. Ant for retrieve, still just three files (defensive) build.properties = login, password and serverurl build.xml = what to do Unpackge-all.xml = what to get (supports * wildcards) Ant fetchdev3
  • 6. Ant for deployment, same three files (offensive) build.properties = login, password and serverurl package.xml = the manifest (what to deploy) build.xml = the instructions of what to do <target>
  • 7. What is GIT and why use it ▪ 3rd Generation ▪ Ubiquitous standard ▪ Highly distributed and easy ▪ Easy to branch, merge and audit ▪ Cloud repos offer additional services like issue tracking and wiki git clone https://github.com/forcedotcom/aura.git
  • 8. Git concepts and commands clone remote branch fetch pull push checkout merge add commit log tag pull: brings down push: latest src repo fetch: brings down latest src from repo to HEAD puts latest and merges commit into it into current repo branch branch: Local copies the master branch clone: gets the code from the remote, do once
  • 9. Daily snapshots: defensive example ant git git git fetchmyorg add . commit –a –m ’auto commit’ push origin
  • 10. Classic bug fix: offensive example git clone http://github/user/reponame git checkout –b issue49 change code and test git commit –a –m ‘fixed issue #49’ git checkout master git merge issue49 git push origin
  • 12. What you git detail of a commit • link to issue (github) • commit message • author and date • summary of change • diff of each change • detail of each file
  • 13. Two options for directory structures for salesforce. com orgs Use 1 branch per org ▪ SRC Use a sub dir per org ▪ Orgs ▪ packages • Prod/SRC ▪ docs • Dev/SRC ▪ data ▪ scripts ▪ readme.md ▪ build.xml ▪ unpackage-all.xml • Testing/SRC ▪ docs ▪ packages ▪ data ▪ readme.md ▪ build.xml
  • 14. Options for version numbering your release Major.Minor.release# Project.Feature.Sprint#.Hotfix# Project.ApiVersion.model.release# 1.2.31 1.0.6.1 2.29.14.27 You can use any versioning schema you want or create you own. The important thing is that everyone understands what each digit means, and you have a release note for each release.
  • 15. Git Cloud Repositories ▪ Github • No free repos • Industry standard for open source • Wiki and Issue tracker • Smart Commits ▪ Bitbucket • Unlimited private repos (but only 5 users) • From Atlassian • Side by side diffs
  • 17. All About Appirio and Cloudspokes Appirio is a global service company that uses traditional consulting, crowd sourcing and cloud, social and mobile technology to help enterprises dramatically improve the way they do business. Cloudspokes is Appirio’s crowd sourcing business unit. With it’s recent acquisition of TopCoder.com, it provides a resource of nearly 600k developers world wide to provide customer solutions
  • 19. We want to hear from YOU! Please take a moment to complete our session survey Surveys can be found in the “My Agenda” portion of the Dreamforce app