ci for force dot com

17
Continuous Integration for Force.com Projects Don McIntosh @donmac23

Upload: don-mcintosh

Post on 11-Apr-2017

276 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Ci for force dot com

Continuous Integration for Force.com Projects

Don McIntosh@donmac23

Page 2: Ci for force dot com
Page 3: Ci for force dot com

Continuous Integration

Automating software build and release processes with built in quality control

Page 4: Ci for force dot com

Change Sets

Page 5: Ci for force dot com

Sandbox Flow for Small Teams

Page 6: Ci for force dot com

Deployment via Changesets

Dev Dev

QA

UAT

Prod

Dev Dev

Page 7: Ci for force dot com

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

Page 8: Ci for force dot com

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

Page 9: Ci for force dot com

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

Page 10: Ci for force dot com

DevDev

Dev

CI

Test

UAT

Prod

Page 11: Ci for force dot com

Release ManagementMaster (prod) Develop (CI) QA UAT

Tim

e

Page 12: Ci for force dot com

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…

Page 13: Ci for force dot com

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

Page 14: Ci for force dot com

Salesforce Challenges & Solutions

• Reconciling profile changes• Preventing regression back to obsolete config

Page 15: Ci for force dot com

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

Page 16: Ci for force dot com

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

Page 17: Ci for force dot com

Thanks!