team development on force.com

Post on 18-Jul-2015

220 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related