Accelerate DevOps with GitLab and Salesforce
Modern software development made easy.
Mayank Tahilramani
GitLab
Alliance Manager
Francis Potter
GitLab
Solution Architect
Presenters
Claire Bianchi
Salesforce
Product Manager
Doug Ayers
Salesforce
Developer
Forward-Looking Statement
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the
assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements
we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability,
subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations,
statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service,
new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or
delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and
acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and
manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization
and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our
annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and
others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be
delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Statement under the Private Securities Litigation Reform Act of 1995
Today’s Development
Workflows
Today
The Journey
Tomorrow's Development
Workflow Future
GitLab for Modern
DevelopmentPath
Today’s Development Workflow
Manual process, prone to errors, and slow.
Today
Change Set Development
Change Sets:
Code is promoted
through Outbound and
Inbound Change Sets
Change set promotions
via Setup UI
Build
Integration + QA
Code
Develop + Unit Tests
Release
Training + Deploy
Test
Staging + UAT
Manual but widely adopted.
Dev
SBX
Dev Pro
SBX
Partial
SBX
Full
SBX
PROD
Dev
SBX
Dev
SBX
Org Development:
Code is promoted through
a combination of CLI
Commands
Org based development
source:deploy | source:retrieve
Build
Integration + QA
Code
Develop + Unit Tests
Release
Training + Deploy
Test
Staging + UAT
mdapi:deploy
Team based but not easily automated.
Source Code Repository
Dev
SBX
Dev Pro
SBX
Partial
SBX
Full
SBX
PROD
Dev
SBX
Dev
SBX
Packaging Development:
Changes are tracked in a
VCS with a CLI for source
pull and push, and
programmatic testing.
source:push | source:pull
Build
Integration + QA
Code
Develop + Unit Tests
Release
Training + Deploy
Test
Staging + UAT
Package based development.
package:install
GitLab SCM with CI/CD
Faster, reliable, and automated
Scratch
Org
Partial
SBX
Full
SBX
PROD
Scratch
Org
Scratch
Org
Scratch
Org
Today we will focus on Package Based Development with GitLab
Leverages Orgs
High maintenance
Better Practice
Manual Process
Slower to implement
Common Practice
Leverages Automation
Quicker to value
Best Practice
Change Set Development Org based Development Package based Development
for Modern Development
GitLab as a single application to adopt DevOps with Salesforce DX
Path
Single Application for DevOps
Fastest way of collaborating and automating your teams workflows
Manage Plan Create Verify Package Secure Release Configure Monitor Defend
● Eliminate complexity and empower teams to
manage projects, not tools
● Unified DX for tighter communication across
admins and developers
● Automate manual tasks like QA testing
● Unlock faster iteration through concurrent
development and automation
● Quickest way to adopt new SFDX features
(Scratch Orgs, SFDX cli, etc.)
Concurrent development across teams
The New Salesforce DX workflow with GitLab
Project Issue
(Requirement specs)
Clone locally and
Develop in Scratch Orgs
Commit code to git
early and frequently
Feature
Branch
Trigger Automated
CI Pipeline using Scratch Orgs
(Testing, Packaging, etc.)
Review App within
Scratch Org
Peer Review and
Discussion
Create Merge
Request
Approve Merge
Request
Master Branch
Initiate Merge to
Master
Master Branch
Review App within
Sandbox Org
Peer Review, UAT,
Discussion, etc.
Trigger Automated
CI Pipeline in Sandbox Org
(Integration Testing, Packaging, etc.)
Approve Deployment
to Production
Merge Request
and Project Issue
Closed.
Live in
Production
‘Local’ Dev
● Scratch Orgs
● sfdx cli
● git cli
GitLab CI/CD Pipeline
● Scratch Orgs for QA
● Review App
● sfdx cli
Staging Env.
● Sandbox Orgs
Production Env.
Project Management
● Issue Tracking
● Merge Request
● Planning
Collaboration
● Commenting
● Assigning Tasks
● Cross Linking
Tomorrow's Development Workflow
Let’s see automated package based development in action!
Future
Automated
ApproachEasy
Adoption
Agility for
Teams
So let’s see it in action!
GitLab SalesforceGitLab Salesforce
Easy Adoption
● Heavy or light developers and
admins alike can use GitLab
● Adaptable project and CI/CD
templates to get started vis SFDX
● Inherent use of Scratch Orgs in your
workflow for seamless adoption
Agility for Teams
● Unified communication across
teams
● Iterative, concurrent development
● Issue tracking and project
management capabilities.
Automated Approach
● No more manual tests!
● Automatic ad-hoc environment for
review and staging
● Automatic deployments to
staging and production.
with
Where to go next!
Sign Up! Learn by doing! Get started! Meet up!
Sign up for GitLab
Free 3 months of Gold for
Salesforce user
Trailhead Module
Configure CI/CD first hand
“Build an Automated CI/CD Pipeline with GitLab”
GitLab Templates
Start new projects or automate
existing ones via gitlab.com/sfdx
AMA Happy Hour
The American Bookbinders Museum
@ 3:30 - 6:30 PM May 30th

TDX19 - Accelerate DevOps with GitLab and Salesforce

  • 1.
    Accelerate DevOps withGitLab and Salesforce Modern software development made easy. Mayank Tahilramani GitLab Alliance Manager Francis Potter GitLab Solution Architect Presenters Claire Bianchi Salesforce Product Manager Doug Ayers Salesforce Developer
  • 2.
    Forward-Looking Statement This presentationmay contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements. Statement under the Private Securities Litigation Reform Act of 1995
  • 3.
    Today’s Development Workflows Today The Journey Tomorrow'sDevelopment Workflow Future GitLab for Modern DevelopmentPath
  • 4.
    Today’s Development Workflow Manualprocess, prone to errors, and slow. Today
  • 5.
    Change Set Development ChangeSets: Code is promoted through Outbound and Inbound Change Sets Change set promotions via Setup UI Build Integration + QA Code Develop + Unit Tests Release Training + Deploy Test Staging + UAT Manual but widely adopted. Dev SBX Dev Pro SBX Partial SBX Full SBX PROD Dev SBX Dev SBX
  • 6.
    Org Development: Code ispromoted through a combination of CLI Commands Org based development source:deploy | source:retrieve Build Integration + QA Code Develop + Unit Tests Release Training + Deploy Test Staging + UAT mdapi:deploy Team based but not easily automated. Source Code Repository Dev SBX Dev Pro SBX Partial SBX Full SBX PROD Dev SBX Dev SBX
  • 7.
    Packaging Development: Changes aretracked in a VCS with a CLI for source pull and push, and programmatic testing. source:push | source:pull Build Integration + QA Code Develop + Unit Tests Release Training + Deploy Test Staging + UAT Package based development. package:install GitLab SCM with CI/CD Faster, reliable, and automated Scratch Org Partial SBX Full SBX PROD Scratch Org Scratch Org Scratch Org
  • 8.
    Today we willfocus on Package Based Development with GitLab Leverages Orgs High maintenance Better Practice Manual Process Slower to implement Common Practice Leverages Automation Quicker to value Best Practice Change Set Development Org based Development Package based Development
  • 9.
    for Modern Development GitLabas a single application to adopt DevOps with Salesforce DX Path
  • 10.
    Single Application forDevOps Fastest way of collaborating and automating your teams workflows Manage Plan Create Verify Package Secure Release Configure Monitor Defend ● Eliminate complexity and empower teams to manage projects, not tools ● Unified DX for tighter communication across admins and developers ● Automate manual tasks like QA testing ● Unlock faster iteration through concurrent development and automation ● Quickest way to adopt new SFDX features (Scratch Orgs, SFDX cli, etc.)
  • 11.
    Concurrent development acrossteams The New Salesforce DX workflow with GitLab Project Issue (Requirement specs) Clone locally and Develop in Scratch Orgs Commit code to git early and frequently Feature Branch Trigger Automated CI Pipeline using Scratch Orgs (Testing, Packaging, etc.) Review App within Scratch Org Peer Review and Discussion Create Merge Request Approve Merge Request Master Branch
  • 12.
    Initiate Merge to Master MasterBranch Review App within Sandbox Org Peer Review, UAT, Discussion, etc. Trigger Automated CI Pipeline in Sandbox Org (Integration Testing, Packaging, etc.) Approve Deployment to Production Merge Request and Project Issue Closed. Live in Production
  • 13.
    ‘Local’ Dev ● ScratchOrgs ● sfdx cli ● git cli GitLab CI/CD Pipeline ● Scratch Orgs for QA ● Review App ● sfdx cli Staging Env. ● Sandbox Orgs Production Env. Project Management ● Issue Tracking ● Merge Request ● Planning Collaboration ● Commenting ● Assigning Tasks ● Cross Linking
  • 14.
    Tomorrow's Development Workflow Let’ssee automated package based development in action! Future Automated ApproachEasy Adoption Agility for Teams
  • 15.
    So let’s seeit in action! GitLab SalesforceGitLab Salesforce
  • 16.
    Easy Adoption ● Heavyor light developers and admins alike can use GitLab ● Adaptable project and CI/CD templates to get started vis SFDX ● Inherent use of Scratch Orgs in your workflow for seamless adoption Agility for Teams ● Unified communication across teams ● Iterative, concurrent development ● Issue tracking and project management capabilities. Automated Approach ● No more manual tests! ● Automatic ad-hoc environment for review and staging ● Automatic deployments to staging and production. with
  • 17.
    Where to gonext! Sign Up! Learn by doing! Get started! Meet up! Sign up for GitLab Free 3 months of Gold for Salesforce user Trailhead Module Configure CI/CD first hand “Build an Automated CI/CD Pipeline with GitLab” GitLab Templates Start new projects or automate existing ones via gitlab.com/sfdx AMA Happy Hour The American Bookbinders Museum @ 3:30 - 6:30 PM May 30th