Development with the Force.com Platform: Building Business ...
Team Development on Force.com
-
Upload
daniel-hoechst -
Category
Technology
-
view
217 -
download
1
Transcript of Team Development on Force.com
Team Development on Force.comDaniel Hoechst
Salesforce Developer, ARUP Laboratories
@dhoechst
Place
Customer or
Partner logo in
white area of
slide, centered
Daniel HoechstSalesforce Developer, ARUP Laboratories
@dhoechst
Team Development Challenges
• Collaboration
• Conflicts with developers working on the same object or class
• Change tracking
• Issue identification early in development process
Critical Components for Success
• Bug/Feature Documentation and Tracking
• Multiple Sandboxes/Dev Orgs
• Source Control
• Code Review / Code Standards
• Continuous Integration
Use to
introduce a
demo, video,
Q&A, etc. Tools of the Trade
STARS
• Sprint Tracking and Requirements System
• Custom built on Force.com
Sandboxes
Developer Sandbox for each
admin and developer
Staging Sandbox to receive
merged metadata
User Acceptance Testing Sandbox
Sublime Text + MavensMate
• Retrieve Local Copy of Metadata
• Make Changes
Github
• All metadata stored in source control
• Pull Requests used for code review
SourceTree
• Git Client
• Easy to Visualize Changes
Travis CI
• Continuous Integration Tool
• Test Pull Requests
• Deploy changes to staging sandbox
• Uses Force.com Migration Tool
Use to
introduce a
demo, video,
Q&A, etc. Demo
Demo Steps• 1. Github - show issue created
• 2. Source Tree - create branch
• 3. Sublime – to class and Save
• 4. Source Tree
• - review changes
• - stage
• - commit, push, create pull request (close issue in comments)
• 5. Github
• - show pending pull request, integration with Travis
• - merge pull request
• 6. Travis - show build
• 7. Salesforce
• - Show deployment status
• - Show updated class
Gotchas
• Destructive changes aren’t automated
• Not all changes can be pushed through metadata
• API version changes
Development Process
Log Issue
(Github)
Create Branch
(SourceTree)
Develop
(Sublime + MavensMate)
Commit and Create Pull
Request
(SourceTree)
CI Validate Changes
(Travis CI)
Code Review and Merge
(Github)
Build to Staging Org
(Travis CI)
Benefits
• Well understood process
• No developers overwriting code
• Track changes back to an issue and developer
• Easy to rollback
• Immediate feedback with build errors
Resources
• Team Development on Force.com http://www.verticalcoder.com/2014/01/06/team-
development-on-force-com/
• Continuous Integration Using Drone.io
http://www.verticalcoder.com/2014/01/07/continuous-integration-using-drone-io/
• MavensMate and Git for Non
Developershttps://tdd.instawiki.com/display/SF/Mavens+Mate+and+Git+for+Non+D
evelopers
Questions?@dhoechst
www.verticalcoder.com