SlideShare a Scribd company logo
Automate the
Development
Lifecycle with
CumulusCI
Kitchener, CA Developer Group
Speaker
Date
Venue/Link
David Reed
April 9th, 2020 @ 3:00 PM EST
https://meet.google.com/gog-myop-ige
Meeting Sponsor
Who Am I? Salesforce Technical Architect
Appirio Inc., a Wipro Company
Salesforce Lightning Champion
www.sudipta-deb.in
10x Salesforce Certified Application Architect
Group Leader of Kitchener, CA Developer Group
434 Badges
@sudipta_1984
Automate the App Lifecycle
with CumulusCI
@aoristdual | d.reed@salesforce.com
David Reed, Senior Member of Technical Staff,
Release Engineering | Salesforce.org
David Reed
Senior Member of Technical Staff,
Release Engineering
Salesforce.org
Forward-Looking Statement
Statement under the Private Securities Litigation Reform Act of 1995:
This presentation contains forward-looking statements about the company’s financial and operating results, which may include expected GAAP and non-GAAP financial and other
operating and non-operating results, including revenue, net income, diluted earnings per share, operating cash flow growth, operating margin improvement, expected revenue growth,
expected current remaining performance obligation growth, expected tax rates, the one-time accounting non-cash charge that was incurred in connection with the Salesforce.org
combination; stock-based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth and sustainability goals. The achievement or success of
the matters covered by such forward-looking statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove
incorrect, the company’s 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 the effect of general economic and market conditions; the impact of geopolitical
events; the impact of foreign currency exchange rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be
the leading provider of enterprise cloud computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our
sales cycles; the competitive nature of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant
growth in our customer base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated
downtime and prevent, detect and remediate potential security breaches; the expenses associated with new data centers and third-party infrastructure providers; additional data center
capacity; real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM
market; our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair
value of our investments in complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and
investments; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly traded
companies within the company's strategic investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies,
including delays related to the integration of Tableau due to regulatory review by the United Kingdom Competition and Markets Authority; our ability to continue to grow unearned
revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our reliance on third-party hardware, software and
platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the
effect of evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those
addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the
potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax
rate; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our outstanding debt, revolving credit facility, term loan and
loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving us; and the impact of climate change.
Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes 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 the company’s 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.
Agenda
The trail to production and the org problem
The Salesforce.org solution: portable automation with CumulusCI
Live demo
Metecho: Portable automation for admins
Completing the picture with MetaCI and MetaDeploy
Takeaways
Let’s Get Cost Out of the Way
CumulusCI, MetaCI, Metecho, and MetaDeploy are 100% free and open source.
Salesforce licenses and server infrastructure do cost money.
• You’ll still pay Heroku, CircleCI, Jenkins, et al.
for infrastructure if you wish to use continuous integration
This is not a sales pitch
Support the Salesforce
open source community!
Footer
The Trail to Production
Exploring the app lifecycle
The trail to production
Develop
Feature
Tests
Merge Deploy
Integrati-
on / UAT
Test
Developers
Admins Testers
Testers
End Users
End Users
Demos
Support
CI System
Where do these participants do their work?
Continuous integration must be automated.
Most CI systems do very similar steps:
• Create a Salesforce org.
• Configure the Salesforce org to meet the needs
of the application.
• Deploy the application.
• Execute tests (Apex unit tests, Jest tests, Robot
browser tests…)
• Report results
In many organizations, these steps are so
complex that they end up using a single,
persistent org.
Developers, admins, testers, support, product
managers, and other stakeholders usually
must create environments manually.
Each user has to:
• Create a Salesforce org.
• Configure the Salesforce org to meet the needs
of the application.
• Deploy the application.
In many organizations, these steps are so
expensive that users must make do with
shared, out-of-date, or inconsistent sandboxes.
Building new orgs is hard.
• Traditional tools only do metadata setup.
• What about configuration? Data? Dependency management?
• What about multiple org shapes for different roles?
• CI automation is usually not “portable” (CI only).
Managing persistent orgs’ state is hard.
• Challenging to fully synchronize with source control
• Weak change management
• Users conflicting with one another
All of these roles and systems need Salesforce orgs to work in.
The org problem
Developers
Admins
App Builders
Testers
End Users
Demos
Support
CI System
Some consequences of the org problem
Loss of velocity
• Teams can’t work at capacity because of poor infrastructure
Loss of confidence
• Test results aren’t reliable without repeatable setup
Difficulty implementing modern best practices
• Source control
• Salesforce DX
Limited alternatives
• Automation solutions are too limited, too expensive, or require specialization.
The Salesforce.org Solution:
Portable Automation with
CumulusCI
Portable automation for every role,
everywhere on the trail
Basic framework
Version control as
source of truth.
Salesforce DX scratch
orgs as location of work.
CumulusCI as the
automation engine.
% cci
Same automation, many contexts
Metecho
Command line tool
for developers
Web UI for
continuous
integration
cci MetaCI
Web UI for admins
& app builders
(forthcoming)
Sophisticated
customer delivery
solutions
MetaDeploy
CumulusCI Portable Automation
What CumulusCI does
Builds orgs based on repeatable recipes
• Dependency management
• Package or application installation
• Metadata deployment to tailor org
• Configuration of settings
• Data seeding
• Any task achievable with the Salesforce API
CumulusCI makes it easy to define fully-realized scratch orgs for
each of your roles.
What CumulusCI does
Provides tools for each role to use in their orgs
• Run tests (Apex, Jest, Robot browser and API automation)
• Develop and deploy code and metadata
• Load, modify, and capture data sets
CumulusCI makes it easy for developers, admins, and testers to
do their work and collaborate in version control.
What CumulusCI does
Provides tools to orchestrate the entire development process
• Run continuous integration builds
• Execute Apex, Jest, and Robot Framework browser tests
• Automate parent-child branch merges (CumulusCI Flow)
• Upload and test beta managed packages automatically
• Upload and test managed releases
Continuous integration server recommended but not required:
you can run the entire development process from your local
machine.
Flows and tasks
CumulusCI comes with dozens of built-in
tasks and predefined flows.
Tasks and flows are configurable in simple
text markup.
New capabilities can be added in Python.
Composable building blocks for automation
Install Managed PackagesAutomatically Resolve
Dependencies
Deploy MetadataRun Apex and Jest
Unit Tests
Run Robot Framework
Browser Automation
Seed Org with DataRun Anonymous ApexCapture ChangesRelease Package VersionsMuch More
Customize flows and tasks in version control
cumulusci.yml lives in the repository alongside code
Hands-On Demonstration
The trail to production
Develop
Feature
Tests
Integrate Deploy
Integration
/ UAT Test
dev_org
qa_org
install_beta
regression_org
release_production
ci_release
install_prodci_feature
ci_master
Outcomes of solving the org problem
Increased velocity
• Portable automation means no org blockers or infrastructure dependencies
Increased confidence
• Rely on orgs always being configured exactly as you expect
Modern best practices not just baked-in, but enabled
• Source control
• Salesforce DX
Users get access to holistic environments that encourage collaboration
• CumulusCI makes it easy to capture and share work.
Metecho:
Portable Automation for Admins
No command line? No problem.
Metecho is not yet released.
Functionality may change before release.
Μετέχω: “I share”, Ancient Greek
Metecho
Manage projects and tasks in your repositories
Metecho
Create scratch orgs, capture work into Git with the push of a button
Metecho Integrates with Git and Developers
Bring declarative work fully into your development lifecycle via Portable Automation
Hands-On Demonstration
Metecho is not yet released.
Functionality may change before release.
Completing the Picture
with MetaCI and MetaDeploy
Applying portable automation to continuous integration
and customer delivery
MetaCI
Orchestrate development workflow.
Easily define plans that run CumulusCI automation on specific branches and tags.
Status reported to GitHub for process insights.
Track releases and automatically generate release notes in GitHub.
Continuous integration for Salesforce projects
MetaCI
Create scratch orgs using CumulusCI automation through a web UI.
Support declarative users with web UI
Prefer to bring your own CI?
MetaCI makes it easy to map CumulusCI automation to your GitHub branches and tags and
implement CumulusCI Flow.
CumulusCI works great in other CI systems too.
Use CumulusCI as your build tool in CircleCI, Jenkins, Travis, GitHub Actions, GitLab Pipelines,
or whatever you prefer. Even on-premises!
No lock-in
MetaDeploy
Customer delivery with portable automation
MetaDeploy
Smart, product-oriented installers create a great customer experience
CumulusCI makes sharing and
collaboration easy — in one organization,
across organizations, between roles, and
in the open source community.
Automate the development lifecycle with cumulus ci on april 9th, 2020
Build Applications with CumulusCI:
https://trailhead.salesforce.com/en/content/learn/trails/build-applications-with-cumulusci
Now available on Trailhead!
CumulusCI Documentation: cumulusci.readthedocs.io
CumulusCI on the Trailblazer Community:
https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F9300000009M9Z
CumulusCI Open Source Project: github.com/SFDO-Tooling/CumulusCI
Salesforce.org Products and the Open Source Commons
• github.com/SalesforceFoundation/NPSP
• github.com/SalesforceFoundation/EDA
• github.com/SFDO-Community
Resources

More Related Content

PPTX
Oracle Cloud Infrastructure Overview Deck.pptx
PDF
Microsoft Azure Active Directory
PPTX
Introduction to Azure Databricks
PPTX
Azure data platform overview
PPTX
Salesforce Continuous Integration with AutoRABIT
PDF
Az 104 session 4: azure storage
PDF
Azure 101
PPTX
Azure Active Directory
Oracle Cloud Infrastructure Overview Deck.pptx
Microsoft Azure Active Directory
Introduction to Azure Databricks
Azure data platform overview
Salesforce Continuous Integration with AutoRABIT
Az 104 session 4: azure storage
Azure 101
Azure Active Directory

What's hot (20)

PPTX
AWS Monitoring & Logging
PDF
Apache Sqoop: A Data Transfer Tool for Hadoop
PDF
EBS-technical_upgrade_best_practices 12.1 or 12.2
PPTX
SSO introduction
PPTX
Commerce Cloud 101
PDF
Introduction to the Salesforce Security Model
PPTX
3 Modern Security - Secure identities to reach zero trust with AAD
PPTX
Azure API Management
PDF
Learn to Leverage the Power of SOQL
PPTX
Oracle Cloud Infrastructure.pptx
PPTX
AWS VS AZURE VS GCP.pptx
PDF
Oracle Cloud Infrastructure
PDF
O365 Groups- Best Practices and Solutions
PDF
Real time stock processing with apache nifi, apache flink and apache kafka
PDF
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
PPTX
AWS Simple Storage Service (s3)
PPTX
Azure Identity and access management
PPTX
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
PPTX
Platforms, Platform Engineering, & Platform as a Product
PDF
An introduction to Defender for Business
AWS Monitoring & Logging
Apache Sqoop: A Data Transfer Tool for Hadoop
EBS-technical_upgrade_best_practices 12.1 or 12.2
SSO introduction
Commerce Cloud 101
Introduction to the Salesforce Security Model
3 Modern Security - Secure identities to reach zero trust with AAD
Azure API Management
Learn to Leverage the Power of SOQL
Oracle Cloud Infrastructure.pptx
AWS VS AZURE VS GCP.pptx
Oracle Cloud Infrastructure
O365 Groups- Best Practices and Solutions
Real time stock processing with apache nifi, apache flink and apache kafka
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...
AWS Simple Storage Service (s3)
Azure Identity and access management
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Platforms, Platform Engineering, & Platform as a Product
An introduction to Defender for Business
Ad

Similar to Automate the development lifecycle with cumulus ci on april 9th, 2020 (20)

PPTX
Bangkok Admin Group TrailheaDX 2020 Global Gathering v2
PPTX
Los Angeles Admin Trailblazer Community Group TrailheaDX 2020 Global Gatherin...
PPTX
DevOps in Salesforce AppCloud
PPTX
July 2020 Chicago Nonprofit Group - Summer '20 Highlights
PDF
WT19: An Amazing Lightning Transition in Review
PPTX
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
PDF
TDX Global Gathering - Wellington UG
PDF
DevOps 101
PDF
Austin Developers - New Lighting Web Component Features & #TDX22 Updates
PDF
Winter-24-Release-in-a-Box-v2.pdf
PDF
WT16 - Cloud Services Portfolio
PDF
Spring 21 Salesforce Release Highlights with Awesome Admin Marc Baizman Welli...
PDF
Salesforce Learning Journey - Partner Guide to Credentials.pdf
PDF
#ImpactSalesforceSaturday: Prepare for Salesforce Certified Heroku Architectu...
PDF
Letterkenny TrailheaDX 2020 Global Gathering
PDF
Summer '20 Release Overview
PPTX
Release Winter 22 FR
PPTX
Winter 22 release
PDF
WT19: Platform Events Are for Admins Too!
PPTX
Org dependent salesforce packages
Bangkok Admin Group TrailheaDX 2020 Global Gathering v2
Los Angeles Admin Trailblazer Community Group TrailheaDX 2020 Global Gatherin...
DevOps in Salesforce AppCloud
July 2020 Chicago Nonprofit Group - Summer '20 Highlights
WT19: An Amazing Lightning Transition in Review
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
TDX Global Gathering - Wellington UG
DevOps 101
Austin Developers - New Lighting Web Component Features & #TDX22 Updates
Winter-24-Release-in-a-Box-v2.pdf
WT16 - Cloud Services Portfolio
Spring 21 Salesforce Release Highlights with Awesome Admin Marc Baizman Welli...
Salesforce Learning Journey - Partner Guide to Credentials.pdf
#ImpactSalesforceSaturday: Prepare for Salesforce Certified Heroku Architectu...
Letterkenny TrailheaDX 2020 Global Gathering
Summer '20 Release Overview
Release Winter 22 FR
Winter 22 release
WT19: Platform Events Are for Admins Too!
Org dependent salesforce packages
Ad

More from Sudipta Deb ☁ (15)

PPTX
Kitchener Canada Developer Group Event: From Admin to Certified Technical Arc...
PPTX
Kitchener Developer Group's session on "All about events"
PPTX
Learn how Source Tracking can keep metadata changes in sync between your loca...
PPTX
Orchestrate all of your salesforce automation with the trigger actions framework
PDF
Let's Learn About Heroku and How to Integrate with Salesforce
PPTX
Using Styling Hooks to Customize Your LWC
PDF
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
PDF
Algorithms design and analysis, part 1
PDF
Functional programming principles in scala
PDF
Principles of reactive programming
PDF
Dreamforce Global Gathering
PPTX
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
PPTX
Introduction to lightning web component
PPTX
Kitchener CA Developer Group Presents Everything you need to know about Einst...
PPTX
Building lightning apps by Daniel Peter
Kitchener Canada Developer Group Event: From Admin to Certified Technical Arc...
Kitchener Developer Group's session on "All about events"
Learn how Source Tracking can keep metadata changes in sync between your loca...
Orchestrate all of your salesforce automation with the trigger actions framework
Let's Learn About Heroku and How to Integrate with Salesforce
Using Styling Hooks to Customize Your LWC
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
Algorithms design and analysis, part 1
Functional programming principles in scala
Principles of reactive programming
Dreamforce Global Gathering
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Introduction to lightning web component
Kitchener CA Developer Group Presents Everything you need to know about Einst...
Building lightning apps by Daniel Peter

Recently uploaded (20)

PPTX
Cell Types and Its function , kingdom of life
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
Pharma ospi slides which help in ospi learning
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Classroom Observation Tools for Teachers
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
Insiders guide to clinical Medicine.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
master seminar digital applications in india
PDF
TR - Agricultural Crops Production NC III.pdf
Cell Types and Its function , kingdom of life
2.FourierTransform-ShortQuestionswithAnswers.pdf
Renaissance Architecture: A Journey from Faith to Humanism
Pharma ospi slides which help in ospi learning
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Classroom Observation Tools for Teachers
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Insiders guide to clinical Medicine.pdf
PPH.pptx obstetrics and gynecology in nursing
Abdominal Access Techniques with Prof. Dr. R K Mishra
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
102 student loan defaulters named and shamed – Is someone you know on the list?
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Anesthesia in Laparoscopic Surgery in India
master seminar digital applications in india
TR - Agricultural Crops Production NC III.pdf

Automate the development lifecycle with cumulus ci on april 9th, 2020

  • 1. Automate the Development Lifecycle with CumulusCI Kitchener, CA Developer Group Speaker Date Venue/Link David Reed April 9th, 2020 @ 3:00 PM EST https://meet.google.com/gog-myop-ige
  • 3. Who Am I? Salesforce Technical Architect Appirio Inc., a Wipro Company Salesforce Lightning Champion www.sudipta-deb.in 10x Salesforce Certified Application Architect Group Leader of Kitchener, CA Developer Group 434 Badges @sudipta_1984
  • 4. Automate the App Lifecycle with CumulusCI @aoristdual | d.reed@salesforce.com David Reed, Senior Member of Technical Staff, Release Engineering | Salesforce.org
  • 5. David Reed Senior Member of Technical Staff, Release Engineering Salesforce.org
  • 6. Forward-Looking Statement Statement under the Private Securities Litigation Reform Act of 1995: This presentation contains forward-looking statements about the company’s financial and operating results, which may include expected GAAP and non-GAAP financial and other operating and non-operating results, including revenue, net income, diluted earnings per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected current remaining performance obligation growth, expected tax rates, the one-time accounting non-cash charge that was incurred in connection with the Salesforce.org combination; stock-based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth and sustainability goals. The achievement or success of the matters covered by such forward-looking statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, the company’s 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 the effect of general economic and market conditions; the impact of geopolitical events; the impact of foreign currency exchange rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading provider of enterprise cloud computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the competitive nature of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated downtime and prevent, detect and remediate potential security breaches; the expenses associated with new data centers and third-party infrastructure providers; additional data center capacity; real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM market; our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair value of our investments in complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and investments; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly traded companies within the company's strategic investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies, including delays related to the integration of Tableau due to regulatory review by the United Kingdom Competition and Markets Authority; our ability to continue to grow unearned revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our reliance on third-party hardware, software and platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the effect of evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our outstanding debt, revolving credit facility, term loan and loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving us; and the impact of climate change. Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes 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 the company’s 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.
  • 7. Agenda The trail to production and the org problem The Salesforce.org solution: portable automation with CumulusCI Live demo Metecho: Portable automation for admins Completing the picture with MetaCI and MetaDeploy Takeaways
  • 8. Let’s Get Cost Out of the Way CumulusCI, MetaCI, Metecho, and MetaDeploy are 100% free and open source. Salesforce licenses and server infrastructure do cost money. • You’ll still pay Heroku, CircleCI, Jenkins, et al. for infrastructure if you wish to use continuous integration This is not a sales pitch Support the Salesforce open source community! Footer
  • 9. The Trail to Production Exploring the app lifecycle
  • 10. The trail to production Develop Feature Tests Merge Deploy Integrati- on / UAT Test Developers Admins Testers Testers End Users End Users Demos Support CI System
  • 11. Where do these participants do their work? Continuous integration must be automated. Most CI systems do very similar steps: • Create a Salesforce org. • Configure the Salesforce org to meet the needs of the application. • Deploy the application. • Execute tests (Apex unit tests, Jest tests, Robot browser tests…) • Report results In many organizations, these steps are so complex that they end up using a single, persistent org. Developers, admins, testers, support, product managers, and other stakeholders usually must create environments manually. Each user has to: • Create a Salesforce org. • Configure the Salesforce org to meet the needs of the application. • Deploy the application. In many organizations, these steps are so expensive that users must make do with shared, out-of-date, or inconsistent sandboxes.
  • 12. Building new orgs is hard. • Traditional tools only do metadata setup. • What about configuration? Data? Dependency management? • What about multiple org shapes for different roles? • CI automation is usually not “portable” (CI only). Managing persistent orgs’ state is hard. • Challenging to fully synchronize with source control • Weak change management • Users conflicting with one another All of these roles and systems need Salesforce orgs to work in. The org problem Developers Admins App Builders Testers End Users Demos Support CI System
  • 13. Some consequences of the org problem Loss of velocity • Teams can’t work at capacity because of poor infrastructure Loss of confidence • Test results aren’t reliable without repeatable setup Difficulty implementing modern best practices • Source control • Salesforce DX Limited alternatives • Automation solutions are too limited, too expensive, or require specialization.
  • 14. The Salesforce.org Solution: Portable Automation with CumulusCI Portable automation for every role, everywhere on the trail
  • 15. Basic framework Version control as source of truth. Salesforce DX scratch orgs as location of work. CumulusCI as the automation engine. % cci
  • 16. Same automation, many contexts Metecho Command line tool for developers Web UI for continuous integration cci MetaCI Web UI for admins & app builders (forthcoming) Sophisticated customer delivery solutions MetaDeploy CumulusCI Portable Automation
  • 17. What CumulusCI does Builds orgs based on repeatable recipes • Dependency management • Package or application installation • Metadata deployment to tailor org • Configuration of settings • Data seeding • Any task achievable with the Salesforce API CumulusCI makes it easy to define fully-realized scratch orgs for each of your roles.
  • 18. What CumulusCI does Provides tools for each role to use in their orgs • Run tests (Apex, Jest, Robot browser and API automation) • Develop and deploy code and metadata • Load, modify, and capture data sets CumulusCI makes it easy for developers, admins, and testers to do their work and collaborate in version control.
  • 19. What CumulusCI does Provides tools to orchestrate the entire development process • Run continuous integration builds • Execute Apex, Jest, and Robot Framework browser tests • Automate parent-child branch merges (CumulusCI Flow) • Upload and test beta managed packages automatically • Upload and test managed releases Continuous integration server recommended but not required: you can run the entire development process from your local machine.
  • 20. Flows and tasks CumulusCI comes with dozens of built-in tasks and predefined flows. Tasks and flows are configurable in simple text markup. New capabilities can be added in Python. Composable building blocks for automation Install Managed PackagesAutomatically Resolve Dependencies Deploy MetadataRun Apex and Jest Unit Tests Run Robot Framework Browser Automation Seed Org with DataRun Anonymous ApexCapture ChangesRelease Package VersionsMuch More
  • 21. Customize flows and tasks in version control cumulusci.yml lives in the repository alongside code
  • 23. The trail to production Develop Feature Tests Integrate Deploy Integration / UAT Test dev_org qa_org install_beta regression_org release_production ci_release install_prodci_feature ci_master
  • 24. Outcomes of solving the org problem Increased velocity • Portable automation means no org blockers or infrastructure dependencies Increased confidence • Rely on orgs always being configured exactly as you expect Modern best practices not just baked-in, but enabled • Source control • Salesforce DX Users get access to holistic environments that encourage collaboration • CumulusCI makes it easy to capture and share work.
  • 25. Metecho: Portable Automation for Admins No command line? No problem. Metecho is not yet released. Functionality may change before release. Μετέχω: “I share”, Ancient Greek
  • 26. Metecho Manage projects and tasks in your repositories
  • 27. Metecho Create scratch orgs, capture work into Git with the push of a button
  • 28. Metecho Integrates with Git and Developers Bring declarative work fully into your development lifecycle via Portable Automation
  • 29. Hands-On Demonstration Metecho is not yet released. Functionality may change before release.
  • 30. Completing the Picture with MetaCI and MetaDeploy Applying portable automation to continuous integration and customer delivery
  • 31. MetaCI Orchestrate development workflow. Easily define plans that run CumulusCI automation on specific branches and tags. Status reported to GitHub for process insights. Track releases and automatically generate release notes in GitHub. Continuous integration for Salesforce projects
  • 32. MetaCI Create scratch orgs using CumulusCI automation through a web UI. Support declarative users with web UI
  • 33. Prefer to bring your own CI? MetaCI makes it easy to map CumulusCI automation to your GitHub branches and tags and implement CumulusCI Flow. CumulusCI works great in other CI systems too. Use CumulusCI as your build tool in CircleCI, Jenkins, Travis, GitHub Actions, GitLab Pipelines, or whatever you prefer. Even on-premises! No lock-in
  • 34. MetaDeploy Customer delivery with portable automation
  • 35. MetaDeploy Smart, product-oriented installers create a great customer experience
  • 36. CumulusCI makes sharing and collaboration easy — in one organization, across organizations, between roles, and in the open source community.
  • 38. Build Applications with CumulusCI: https://trailhead.salesforce.com/en/content/learn/trails/build-applications-with-cumulusci Now available on Trailhead!
  • 39. CumulusCI Documentation: cumulusci.readthedocs.io CumulusCI on the Trailblazer Community: https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F9300000009M9Z CumulusCI Open Source Project: github.com/SFDO-Tooling/CumulusCI Salesforce.org Products and the Open Source Commons • github.com/SalesforceFoundation/NPSP • github.com/SalesforceFoundation/EDA • github.com/SFDO-Community Resources