OnDemand Release Management - PowerPoint PPT Presentation

1 / 64
About This Presentation
Title:

OnDemand Release Management

Description:

apex tests. best for feature test. load standard data for regression ... Based on Apache Ant. Use for retrieval. configure with org and list of metadata ... – PowerPoint PPT presentation

Number of Views:145
Avg rating:3.0/5.0
Slides: 65
Provided by: bodi52
Category:

less

Transcript and Presenter's Notes

Title: OnDemand Release Management


1
On-Demand Release Management
Track Administrators
  • Glen Martin, Salesforce.com
  • Garrett Farwell, Salesforce.com

2
Safe Harbor Statement
Safe harbor statement under the Private
Securities Litigation Reform Act of 1995 This
presentation may contain forward-looking
statements including but not limited to
statements concerning the potential market for
our existing service offerings and future
offerings. All of our forward looking statements
involve risks, uncertainties and assumptions. If
any such risks or uncertainties materialize or if
any of the assumptions proves incorrect, our
results could differ materially from the results
expressed or implied by the forward-looking
statements we make. The risks and uncertainties
referred to above include - but are not limited
to - risks associated with possible fluctuations
in our operating results and cash flows, rate of
growth and anticipated revenue run rate, errors,
interruptions or delays in our service or our Web
hosting, our new business model, our history of
operating losses, the possibility that we will
not remain profitable, breach of our security
measures, the emerging market in which we
operate, our relatively limited operating
history, our ability to hire, retain and motivate
our employees and manage our growth, competition,
our ability to continue to release and gain
customer acceptance of new and improved versions
of our service, customer and partner acceptance
of the AppExchange, successful customer
deployment and utilization of our services,
unanticipated changes in our effective tax rate,
fluctuations in the number of shares outstanding,
the price of such shares, foreign currency
exchange rates and interest rates. Further
information on these and other factors that could
affect our financial results is included in the
reports on Forms 10-K, 10-Q and 8-K and in other
filings we make with the Securities and Exchange
Commission from time to time. These documents are
available on the SEC Filings section of the
Investor Information section of our website at
www.salesforce.com/investor. Salesforce.com, inc.
assumes no obligation and does not intend to
update these forward-looking statements, except
as required by law.
3
Glen Martin Director Product Management Force.com
Platform
4
Agenda
  • Introduction to Development as a Service
  • Environments
  • Development
  • Deployment
  • Sandbox Best Practices
  • QA

5
Worlds First Development Tools and Services for
the Cloud
Development as a Service
Force.com IDE
Force.com Sandbox
Force.com Code Share
Metadata API
Everything You Need to Build Apps
Easy to Collaborate on Projects
Easy Access to Code and Schema
Instantly Set Up Dev Environments
6
Metadata API . Lets Look at the Code
Metadata API
ltCustomObject xmlns"http//soap.sforce.com/2006/0
4/metadata"gt     ltlabelgtPTORequestlt/labelgt    
ltpluralLabelgtPTORequestslt/pluralLabelgt    
ltnameFieldgt         ltlabelgtPTORequest
Namelt/labelgt         lttypegtTextlt/typegt    
lt/nameFieldgt     ltsharingModelgtReadWritelt/sharing
Modelgt     ltfieldsgt         ltfullNamegtStartDate_
_clt/fullNamegt         ltlabelgtStart Datelt/labelgt
        lttypegtDatelt/typegt     lt/fieldsgt    
ltfieldsgt         ltfullNamegtDuration__clt/fullNamegt
        ltlabelgtDurationlt/labelgt        
lttypegtNumberlt/typegt         ltprecisiongt2lt/precisi
ongt     lt/fieldsgt     ltdeploymentStatusgtDeployed
lt/deploymentStatusgt lt/CustomObjectgt
Create your database tables
Define schema attributes
Create new database fields
7
IDE
Single Project View
Metadata Editors
Rich code editors for Visualforce and Apex code
8
Force.com Sandbox
Development
Testing
Training
9
Easy to Move Your Apps Metadata and Code
Code Share
Multiple Sandbox Environments
Production Deployment
Code Share
Develop
Test
Train
Version Control
10
Environments
11
Project-based development by teams
  • Modern teams develop in isolation
  • Not in production
  • Not in same development environment as their
    peers
  • Teamwork
  • Synchronize with peers to leverage each others
    work
  • Stable checkpoints to hand-off between functions
    (e.g. QA)
  • Integrate when complete
  • Integrate with peers when development and unit
    test complete
  • Integrate with current production for testing and
    approvals

12
Where Do I Develop?
  • On-demand environments for development and
    testing
  • Developer Edition
  • small, free organization
  • vanilla - starts with a default configuration
  • best for ISVs developing standalone apps
  • Force.com Sandbox
  • copies enabled features and configuration from
    production
  • full sandbox also copies data from production
  • though you usually dont need data yet

13
Managing Force.com Sandbox
14
Development Lifecycle with Sandbox
Production
Develop
15
Development Lifecycle with Sandbox
Production
Develop
Test
16
Development Lifecycle with Sandbox
Production
Staging
17
Development Lifecycle with Code Share
Production
Staging
Code Share
18
Multi-Project Delivery Cycle with Sandbox
Production Instance
Production Support
Dev
Dev
Rollup / Integration
Staging
Integration
Long Project
Training
legend
Dev
live
full copy
Dev
configuration-only, test data
configuration-only, training data
Short Projects
developer
19
Developer Sandbox
  • Intended for single developer use
  • Includes all features of full sandbox (except
    storage size and data)
  • Allows development in isolation from production
    and peers
  • Merge changes into staging or production when
    ready
  • Generally, developers will want one or two each
  • Free!
  • No cost
  • Bundled with Enterprise and Unlimited Edition
  • Sandbox purchases bundle more!
  • Full Sandbox comes with 10
  • Configuration-only Sandbox comes with 5

20
Development and Testing Environments
21
Metadata API
22
Supported Metadata Types
23
3 Configuration Migration Tools Today
  • Force.com IDE
  • Force.com Migration Tool
  • Dreamfactory Snapshot
  • All based on the Metadata API

24
Force.com Migration Tool
  • Command-line tool for retrieval and migration
  • Based on Apache Ant
  • Use for retrieval
  • configure with org and list of metadata
  • this metadata can then be saved into version
    control
  • Also use for migration
  • configure with destination org and metadata to
    push
  • Uses same directory structure as Force.com IDE

25
Metadata vs Packaging
  • Managed Packages are for ISVs
  • one-to-many installation
  • installed-to org cant modify contents
  • in future, installed-to org probably cant see
    contents
  • changes to included components restricted even in
    source orgs
  • IT should use metadata tools for deployment
  • using the Force.com IDE, for developers
  • using Force.com Migration Tool, for technical IT
    admins
  • using 3rd-party tools such as Dreamfactory
    Snapshot, for power users or business analysts

26
Code Share
27
Evolution of your Organization
28
Evolution of your Organization
29
Evolution of your Organization
30
Evolution of your Organization
31
Evolution of your Organization
32
Evolution of your Organization
33
What is Version Control?
  • System that tracks changes to software over time
  • What was the change?
  • Who made it?
  • How did the code change incrementally over time?

Project Branch
Version Control
34
What is Version Control?
  • System that tracks changes to software over time
  • What was the change?
  • Who made it?
  • How did the code change incrementally over time?
  • Branch to isolate development until ready

Project Branch
Developer Branch
Version Control
35
What is Version Control?
  • System that tracks changes to software over time
  • What was the change?
  • Who made it?
  • How did the code change incrementally over time?
  • Branch to isolate development until ready
  • Merge changes back into the release branch
  • Tag released versions with release name

Release Branch
Project Branch
Developer Branch
Version Control
36
Force.com Development with Version Control
Release Branch
Project Branch
Developer Branch
Version Control
37
Some Version Control Systems
  • Team development with Force.com should work with
    most popular version control systems that have
    Eclipse plug-ins

Borland StarTeam
Telelogic SYNERGY
Microsoft VSS
Subversion
AccuRev
CVS
ChangeMan Dimensions
AllFusion Harvest
ChangeMan Version Manager
TeamSite Repository
ClearCase
Darcs
SpectrumSCM
Source Integrity Enterprise
Perforce
SAD - Perforce Software
38
Projects and Version Control
39
Extracting Configuration to Version Control
Org

Version Control
Changes
40
Extracting with Migration Tool
  • gt ant retrieve-production
  • lttarget name"retrieve-production"gt
  • ltsfretrieve
  • username"sf.username
  • password"sf.password
  • serverurl"sf.serverurl"
  • singlePackage"true
  • retrieveTargetproduction"
  • unpackagedpackage.xml /gt
  • lt/targetgt


41
Detecting Org Changes
  • lttarget name"show-production-differences"gt
  • lt!-- get from org --gt
  • ltantcall target"retrieve-production/gt
  • lt!-- perl script to find changes --gt
  • ltexec executable"/bin/bash"gt
  • ltarg value"-c" /gt
  • ltarg value"cd production
  • svn stat
    ../showdiffs.perl gt ../report.txt" /gt
  • lt/execgt
  • lt/targetgt

42
Using Version Control to Merge Changes

Changes during project
Production
Refresh
Deploy
Project
Version Control
43
Merging Changes in Force.com IDE
44
Do We Need to Merge Changes?
  • It depends.
  • Some changes are merged automatically
  • eg. adding new components or elements files,
    fields, etc
  • Other changes may conflict
  • two changes to the same attribute of the same
    field
  • changes to Apex or Visualforce
  • Last change wins!
  • Safe practice merge known changes in advance!

45
Deployment Today
46
Basic Deployment Steps
  • Merge production updates into project
  • Test
  • Create a staging sandbox, and deploy application
  • Test
  • Repeat deployment to production

47
3 Configuration Migration Tools Today
  • Force.com IDE
  • Force.com Migration Tool
  • Dreamfactory Snapshot
  • All based on the Metadata API

48
Deploying with Migration Tool
  • gt ant stage-fix
  • lttarget namestage-fix"gt
  • ltsfdeploy
  • username"sf.username"
  • password"sf.password
  • serverurl"sf.serverurl
  • deployrootfix
  • singlePackage"true /gt
  • lt/targetgt


49
Migration Method for Unsupported Types
  • Create change list
  • Best practice use tool to create change list or
  • Keep track of changes as you make them or
  • Leverage setup audit trail
  • Select the changes you want
  • Copy them by hand
  • When using tools, re-run after copy, diff should
    be clean

50
Migration Challenges
  • Deletion is not trivial
  • Specify item to be deleted in DestructiveChanges.
    xml file
  • Include file in directory to be deployed
  • Rename is not supported
  • Deploy operation is like upsert it changes
    component of same name, or creates new component
    if name doesnt exist
  • Therefore any name changes will duplicate the
    component
  • For integration / regression renames delete and
    recreate
  • Then change data files and reload test data
  • For production and staging renames use
    Declarative App Builder
  • No Rollback
  • Create a compensating deployment (nontrivial)

51
Demo Deploy to Force.com Sandbox
52
Deploying into Production
  • Staging allowed us to test the changes,
  • Also verified the deployment methodology
  • Repeat the same process to deploy to production
  • Same environment (sandbox was a complete copy of
    production)
  • Same code and metadata
  • Same migration methodology
  • Same result

53
Sandbox Maintenance
  • Will this effect my project?
  • Now on trust.salesforce.com!

54
Sandbox and the Coming Feature Release
  • Sandbox and production instances upgrade at
    different times
  • A Sandbox may be upgraded earlier or later than
    the production org, depending on instance
  • Sandbox instance is determined by date of the copy

55
Sandbox and the Coming Feature Release
  • Always visit the solution or blog post for
    details!
  • Solution Sandbox Solution Upgrade Window
  • Blog Post just search for Sandbox Upgrade on
    succesforce 
  •  
  • Prepare!
  •  
  • Also review the AppExchange package upload matrix
    on the blog

56
Sandbox and the Coming Feature Release
57
Sandbox Instances and URLs
  • Links
  • Avoid using absolute URLs in custom links
  • https//na1.salesforce.com/00Oz0000000EVpUpv0!A
    ccount_ID
  • Instead use relative URLs
  • /00Oz0000000EVpUpv0!Account_ID
  • only use relative URLs in your production
    organization
  • Integrations
  • Do not hard code integrations toward a specific
    instance.
  • Web Service API calls

58
Links and Instances
  • URLs and Releases

59
Features Disabled in Sandbox
  • The following features are disabled and cannot be
    enabled in Sandboxes
  •   these automatically send email to contacts,
    customers and users
  • Case escalation
  • Opportunity reminders
  • Contract expiration warnings
  • Subscription summary
  • Weekly data exports
  • The ability to create Salesforce sandboxes.
  • Testing Salesforce CRM Content and Google AdWords
  • Email service addresses that you create in your
    Sandbox cannot be copied to your production
    organization.

60
Manage. Share. Build. Apply what youve learned
  • Environment selection for development and test
  • Version control system as the source of truth
  • basis for merging changes made in different
    environments
  • Use of Migration Tool for extract / deploy
  • Using Migration Tool and IDE in coordinated
    lifecycle
  • Special considerations using Sandbox around
    releases

61
Where to Learn More
  • For More Information
  • To get a free Developer Edition instance
  • http//developer.force.com/
  • Force.com IDE
  • http//wiki.apexdevnet.com/index.php/Force.com_IDE
  • Force.com Migration Tool
  • http//wiki.apexdevnet.com/index.php/Migration_Too
    l_Guide
  • Metadata API, see API Developers Guide
  • http//wiki.apexdevnet.com/index.php/APIAPI

62
Other Sessions
  • Wed 1015 Esplanade 303
  • Development as a Service Building and Deploying
    Apps in the Cloud Leader Jon Plax

63
Session FeedbackLet us know how were doing and
enter to win an iPod nano!
  • Please score the session from 5 to 1
    (5excellent,1needs improvement) in the
    following categories
  • Overall rating of the session
  • Quality of content
  • Strength of presentation delivery
  • Relevance of the session to your organization

Additionally, please fill in the name of each
speaker score them on overall delivery.
We strive to improve, thank you for filling out
our survey.
64
QUESTION ANSWER
Glen Martin
Director Product Management
Garrett Farwell
Technical Support Analyst
Write a Comment
User Comments (0)
About PowerShow.com