Continuous Integration for Salesforce1 Platform

  • View
    289

  • Download
    1

Embed Size (px)

DESCRIPTION

AutoRABIT automates the process of building, testing, and deploying software on the Salesforce1 Platform. It includes powerful metadata management and automation tools. These tools can be used alone or as part of a complete Continuous Integration & Deployment procesess

Transcript

  • 1. CONTINUOUS INTEGRATION ONTHE SALESFORCE1 PLATFORMKevin GeeDirector of Product ManagementTechSophy, Inc.

2. The Problem Too many administrators Lack of coordination Changes made directly in production Mostly manual steps for deployment Manual testing with limited test coverage Multiple production orgs with no commoncodeSLOW RELEASE VELOCITYRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 3. Manual Process with Slow Release VelocityManual Release ProcessQuarterly release17 member deployment team11 day deployment time40 page deployment processRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 4. DEMO: SANDBOX TO PRODUCTIONWITH CONTINUOUS DEPLOYMENT 5. 24X Increase in Release VelocityManual Release Process Continuous DeploymentQuarterly release 2X weekly17 member deployment team 3 member deployment team11 day deployment time 1 day deployment time40 page deployment process 4 page deployment processRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 6. Manual Build ProcessLongerManual TestCycleLongerManualDeploymentProcessMoreChanges inBuildRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 7. Accelerated Build ProcessLongerManual TestCycleAutomateTestingLongerManualDeploymentProcessFewer Changesper BuildMoreChanges inBuildAutomateDeploymentRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 8. Continuous DeploymentPhilosophy is automate and coordinate as much as possibleVersionControlBuild Test Track DeployChanges can go from Dev toPlanProduction using automated pipelineRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 9. Continuous DeploymentVersionControlBuild Test Track DeployChanges can go from Dev toPlanProduction using automated pipelineRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 10. First Step: Change Management Change Management Team Functional Leaders Business Analysts Technical Architects Power Users Release Management Strategy What is allowed in each branch Who is allowed to make changes whereRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 11. Release Management StrategyProductionTestFeatureAFeatureBFeatureCDev Dev Dev Dev Dev Dev Dev DevFeature TeamAFeature TeamBFeature TeamCBranchingStrategyTestsTestsTests 12. Release Management StrategyProductionTestFeatureAFeatureBFeatureCDev Dev Dev Dev Dev Dev Dev DevFeature TeamAFeature TeamBFeature TeamCBranchingStrategyTestsTestsTests 13. Version Control DemoVersionControlBuild Test Track DeployPlan Changes can be rolled back Changes are grouped by branch tominimize conflicts Treat metadata as codeRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 14. Use Version Control Tool toImplement Branching StrategyProductionTrunk(Test Org)Feature AFeature B 15. Automated Build DemoVersionControlBuild Test Track DeployBuild on commitScheduled buildsManual buildsPlanRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 16. Automated BuildsRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 17. Automated Testing DemoVersionControlBuild Test Track DeployPlanChanges get promoted when theypass automated tests Unit test Functional Test User Acceptance TestRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 18. ReportingVersionControlBuild Test Track DeployReporting and Dashboard forTeam and Key Decision makersPlanRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 19. DashboardRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 20. Automated Deployment DemoVersionControlBuild Test Track DeployPlanDeploy vertically from Sandbox to ProductionDeploy horizontally from Sandbox to SandboxRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 21. HOW DO WE GET THEREFROM HERE? 22. Level Build Process Environments andDeploymentTesting ReportingLevel 4 All build issuesaddressed throughautomation Continuous deploymentto production Feature sandboxes Automated provisioning 100% code coverage All testing automated Code tested against largenumber of potentialconfigurations Real-timevisibilityLevel 3 Triggered builds Code, meta-data,documentation,requirements subjectto version control Separate Dev, Test, andProd environments Single buttondeployment Very high test coverage Test interaction betweencode, meta-data, and data Users create automatedtest scripts Report trendanalysisLevel 2 Build on commit Dependenciesmanaged Standardizeddeployment process Full Sandbox Selective Promote,Change sets Some automateddeployment Automated dailyfunctional tests On-demandreportingLevel 1 Source control utilized Automated buildprocess Documenteddeployment process Defined branchingstrategy Large amounts of testingdone at build Reports visible toentire teamLevel 0 Manual or semi-manualbuild process Changes made directlyto Production Manual or no testing Status visible onlyto individualdeveloper 23. Level Build Process Environments andDeploymentTesting ReportingLevel 4 All build issuesaddressed throughautomation Continuous deploymentto production Feature sandboxes Automated provisioning 100% code coverage All testing automated Code tested against largenumber of potentialconfigurations Real-timevisibilityLevel 3 Triggered builds Code, meta-data,documentation,requirements subjectto version control Separate Dev, Test, andProd environments Single buttondeployment Very high test coverage Test interaction betweencode, meta-data, and data Users create automatedtest scripts Report trendanalysisLevel 2 Build on commit Dependenciesmanaged Standardizeddeployment process Full Sandbox Selective Promote,Change sets Some automateddeployment Automated dailyfunctional tests On-demandreportingLevel 1 Source control utilized Automated buildprocess Documenteddeployment process Defined branchingstrategy Large amounts of testingdone at build Reports visible toentire teamLevel 0 Manual or semi-manualbuild process Changes made directlyto Production Manual or no testing Status visible onlyto individualdeveloper 24. Single Org Manual Process Single Production Org Multiple Admins Manual Build Process Change Management Version Control,Central Repository Automate TestingRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 25. Multiple Org Manual Process Multiple ProductionOrgs Multiple Admins Manual Build Process Desire to Consolidate Change Management Version Control,Central Repository Automate TestingRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 26. The Challenge is Greater when MigratingChanges between Very Different OrgsMetadata A Change AInitial Stateof SystemChange B Metadata B 27. The Challenge is Greater when MigratingChanges between Very Different OrgsMetadata A Change AInitial Stateof SystemChange B Metadata B 28. The Challenge is Greater when MigratingChanges between Very Different OrgsMetadata A Change AInitial Stateof SystemChange B Metadata BTHERE ARE KNOWNSOLUTIONS TO THISPROBLEM 29. Multiple Org Manual Process Multiple ProductionOrgs Multiple Admins Manual Build Process Desire to Consolidate Change Management Version Control, CentralRepository Automate Testing Designate One Org asTrunk Gradually add otherFeatures to Trunk Migrate Users and Datawhen Trunk meetsRequirementsRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 30. Release Management Strategy:Gradually Migrate Features fromTrunkTestFeatureAFeatureBFeatureCDev Dev Dev Dev Dev Dev Dev DevFeature TeamAFeature TeamBFeature TeamCBranchingStrategyTestsTestsTestsOther Orgs into TrunkOrg C 31. Continuous DeploymentVersionControlPlan Build Test Track Deploy24X Improvement in Release Velocity vs Manual DeploymentManual Release Process Continuous DeploymentQuarterly release 2X weekly17 member deployment team 3 member deployment team11 day deployment time 1 day deployment time40 page deployment process 4 page deployment processRelease Management Streamlined Confidential AutoRABIT (Rapid Automated Build Install & Test) 32. Q&A#AutorabitKevin.g@techsophy.com