Skip to content
This repository has been archived by the owner on Feb 18, 2024. It is now read-only.

Commit

Permalink
GitBook: [#1] Starting an edit
Browse files Browse the repository at this point in the history
  • Loading branch information
azlam authored and gitbook-bot committed Aug 5, 2022
1 parent 295e2ae commit 76c8424
Show file tree
Hide file tree
Showing 72 changed files with 42 additions and 42 deletions.
Binary file modified .gitbook/assets/image (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (10).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (11).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (12).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (13).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (14).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (15).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (16).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (17).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (18).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (19).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (2).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (20).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (21).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (22).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (23).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (24).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (25).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (26).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (27) (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (27).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (29) (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (29).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (3).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (30) (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .gitbook/assets/image (30).png
Binary file modified .gitbook/assets/image (32).png
Binary file added .gitbook/assets/image (36) (1).png
Binary file modified .gitbook/assets/image (36).png
Binary file modified .gitbook/assets/image (4).png
Binary file modified .gitbook/assets/image (41).png
Binary file modified .gitbook/assets/image (42).png
Binary file modified .gitbook/assets/image (43).png
Binary file modified .gitbook/assets/image (44).png
Binary file modified .gitbook/assets/image (45).png
Binary file modified .gitbook/assets/image (46).png
Binary file modified .gitbook/assets/image (47).png
Binary file modified .gitbook/assets/image (48).png
Binary file modified .gitbook/assets/image (5).png
Binary file modified .gitbook/assets/image (50).png
Binary file modified .gitbook/assets/image (51).png
Binary file modified .gitbook/assets/image (52).png
Binary file modified .gitbook/assets/image (6).png
Binary file modified .gitbook/assets/image (7).png
Binary file modified .gitbook/assets/image (8).png
Binary file modified .gitbook/assets/image (9).png
Binary file modified .gitbook/assets/image.png
Binary file modified .gitbook/assets/sivanand.jothy (1).jpg
Binary file modified .gitbook/assets/sivanand.jothy.jpg
6 changes: 3 additions & 3 deletions about-us/contributors.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ Jothy Sivanand - is Accenture Certified Senior Technology Architect and an inven

Ramesh is a Senior DevOps Engineer with good knowledge of key DevOps practices – Continuous Integration and Delivery, Strategy, Implementation, Security and Vulnerability Management (CDP) and Cloud concepts (AWS/Azure) - IaaS, PaaS, SaaS. He has been involved and part of DX@Scale journey since 2019 as an engineer, advocate, contributor, implementer, maintainer, trouble-shooter and successfully implemented CICD solutions for Salesforce on large/small scale projects.

![Hung Dinh](<../.gitbook/assets/image (24).png>)
![Hung Dinh](<../.gitbook/assets/image (7).png>)

Hung set out the mission to tackle Salesforce DevOps practices head-on after he had been involved in delivering a large Salesforce transformation program and appalled at how far behind the DevOps capabilities were. Hung acts as an advisor to DX@Scale core team on tooling and practices.​

![Eric Shen](<../.gitbook/assets/image (26).png>)
![Eric Shen](<../.gitbook/assets/image (24).png>)

Eric is a Salesforce Technical Architect who has been using sfpower\* tools across multiple programs. He contributes additions and fixes to documentation, as well provide feedback on the various commands.

Expand All @@ -45,6 +45,6 @@ Diefffrei is a salesforce architect at Expereo, He has been working on salesforc



![Kevin Jones](<../.gitbook/assets/image (51).png>)
![Kevin Jones](<../.gitbook/assets/image (25).png>)

Kevin is a principal architect at FinancialForce where he focuses on product performance & scalability alongside developer tooling. He develops a set of open-source libraries and VSCode extensions for analysing Salesforce metadata and debug logs. Working for a large ISV has given him plenty of first hand experience of the difficulties of managing, analysing and refactoring metadata. He sees great value in the way DX@Scale is optimising the developer experience for everyone working on the platform.
2 changes: 1 addition & 1 deletion challenges/challenges/2.-using-source-format.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ Once the metadata is successfully committed, commit your changes to the repo.
* Get the newly created repo URL
![](<../../.gitbook/assets/image (12).png>)
![](<../../.gitbook/assets/image (2).png>)
* Follow the below commands in the order from your Terminal to publish your local repo
Expand Down
2 changes: 1 addition & 1 deletion challenges/challenges/5.-scratch-org-shape.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Try [`sfdx sfpowerkit:package:dependencies:install`](https://github.com/accentur

* Go to Setup > Sharing Settings > Account Sharing Rules > New

![The details to be used on the sharing rule](<../../.gitbook/assets/image (4).png>)
![The details to be used on the sharing rule](<../../.gitbook/assets/image (8).png>)

* Check the status using the [sfdx force:source:status](https://developer.salesforce.com/docs/atlas.en-us.sfdx\_cli\_reference.meta/sfdx\_cli\_reference/cli\_reference\_force\_source.htm#cli\_reference\_status) command
* Pull the changes using [sfdx force:source:pull](https://developer.salesforce.com/docs/atlas.en-us.sfdx\_cli\_reference.meta/sfdx\_cli\_reference/cli\_reference\_force\_source.htm#cli\_reference\_pull) command
Expand Down
2 changes: 1 addition & 1 deletion challenges/challenges/7.-create-your-own-package.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
* Search for and click 'DevHub' in the Quick Find menu
* Select 'Enable Unlocked Packages and Second-Generation Managed Packages'

![](<../../.gitbook/assets/image (5).png>)
![](<../../.gitbook/assets/image (44).png>)

### Create an Unlocked package

Expand Down
6 changes: 3 additions & 3 deletions challenges/challenges/scratch-org-pooling-part-2-prepare.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Good news! If you completed [Scratch Org Pooling Part 1](scratch-org-pooling.md)

* Click on 'Actions' in your Dreamhouse-App repo

![](<../../.gitbook/assets/image (15).png>)
![](<../../.gitbook/assets/image (6).png>)

* Create a new workflow and name it 'prepare'
* Replace the contents of the file with the file below
Expand Down Expand Up @@ -127,11 +127,11 @@ Select 'New repository secret'

* Go back to actions and select the workflow

![](<../../.gitbook/assets/image (16).png>)
![](<../../.gitbook/assets/image (52).png>)

* Run the workflow by selecting 'run workflow'

![](<../../.gitbook/assets/image (17).png>)
![](<../../.gitbook/assets/image (45).png>)

* Select the job to watch it running through the tasks and create the scratch orgs required

Expand Down
2 changes: 1 addition & 1 deletion challenges/challenges/validating-your-changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ sfdx sfpowerscripts:orchestrator:validate --help

* Click on 'Actions' in your Dreamhouse-App repo

![](<../../.gitbook/assets/image (15).png>)
![](<../../.gitbook/assets/image (6).png>)

* Create a new workflow and name it 'validate'
* Replace the contents of the file with the file below
Expand Down
2 changes: 1 addition & 1 deletion challenges/prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ sfdx plugins:install @dxatscale/sfpowerscripts
2. Go to [https://trailhead.salesforce.com/users/profiles/orgs](https://trailhead.salesforce.com/users/profiles/orgs%20)
3. Create 2 trailhead playgrounds

![](<../.gitbook/assets/image (8) (1) (1) (1) (1).png>)
![](<../.gitbook/assets/image (8) (1) (1) (1) (1) (1).png>)

## Signup for your own Github Account <a href="#user-content-6.-signup-for-your-own-github-account-2c-ignore-if-you-already-have-one" id="user-content-6.-signup-for-your-own-github-account-2c-ignore-if-you-already-have-one"></a>

Expand Down
2 changes: 1 addition & 1 deletion ci-cd/artifacts.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Why do you need an artifact registry?

Let's have a look at the below example, here a CI pipeline creates a bunch of artifacts/packages, then the publish command is used to publish these artifacts into an Artifact Registry. This stage often gets repeated multiple times during a day.

![](<../.gitbook/assets/image (44).png>)
![](<../.gitbook/assets/image (21).png>)

An important thing to note here is especially when a CI pipeline is enabled with 'diffcheck' functionality, it only builds packages for the particular build run. Unless you are immediately deploying these packages to production, there is no way to deploy an entire set of packages other than going through each of the build runs and immediately pushing them into production. You will need to aggregate packages before you proceed to the next stage.

Expand Down
2 changes: 1 addition & 1 deletion environment/pooling-scratch-orgs.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ It is highly recommended to build a delete pool pipeline that could be triggered

Scratch Org Pools can be monitored using an analytic tool like DataDog or New Relic. Check sfpowerscripts documentation to understand the [metrics](../sfpowerscripts/metrics-and-dashboards.md) emitted by sfpowerscripts. A sample dashboard is attached below

![](<../.gitbook/assets/image (23).png>)
![](<../.gitbook/assets/image (27).png>)

To learn more about how to build a pool of scratch orgs using sfpowerscripts, click on the link below

Expand Down
2 changes: 1 addition & 1 deletion environment/refreshing-sandboxes.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ When refreshing sandboxes from production, care must be taken to address the fol
A sandbox could be refreshed at any point in time, provided your runbook is accurate and well defined
{% endhint %}

![Sandbox Refresh Interval](<../.gitbook/assets/image (22).png>)
![Sandbox Refresh Interval](<../.gitbook/assets/image (51).png>)

Read more about refreshing Partial or Fully Copy Sandboxes [here](https://help.salesforce.com/articleView?id=000313358\&type=1\&mode=1).

Expand Down
4 changes: 2 additions & 2 deletions implementing-your-ci-cd/azure-devops/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ To enable modular package development, there are a few configurations in Salesfo
2. Go to **Development > Dev Hub**
3. Toggle the button to on for **Enable Dev Hub**

![](<../../.gitbook/assets/image (10).png>)
![](<../../.gitbook/assets/image (16).png>)

### B. Enable Unlocked Packages and Second-Generation Managed Packages

Expand All @@ -90,7 +90,7 @@ For auditing purposes, it is best practice to create a separate [service account
7. Set **Profile** to **System Administrator**
8. Scroll down and click on **Save**

![](<../../.gitbook/assets/image (18).png>)
![](<../../.gitbook/assets/image (29).png>)

{% hint style="info" %}
Only certain [editions](https://help.salesforce.com/s/articleView?id=000326486\&type=1) of Salesforce has API Access. It's best to create a new **Profile** or **Permission Set** and configure the **System Permissions** and enable the **API Enabled** and **Api Only User** permission.
Expand Down
4 changes: 2 additions & 2 deletions implementing-your-ci-cd/github/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ To enable modular package development, there are a few configurations in Salesfo
2. Go to **Development > Dev Hub**
3. Toggle the button to on for **Enable Dev Hub**

![](<../../.gitbook/assets/image (10).png>)
![](<../../.gitbook/assets/image (16).png>)

### B. Enable Unlocked Packages and Second-Generation Managed Packages

Expand All @@ -84,7 +84,7 @@ For auditing purposes, it is best practice to create a separate [service account
7. Set **Profile** to **System Administrator**
8. Scroll down and click on **Save**

![](<../../.gitbook/assets/image (18).png>)
![](<../../.gitbook/assets/image (29).png>)

{% hint style="info" %}
Only certain [editions](https://help.salesforce.com/s/articleView?id=000326486\&type=1) of Salesforce has API Access. It's best to create a new **Profile** or **Permission Set** and configure the **System Permissions** and enable the **API Enabled** and **Api Only User** permission.
Expand Down
18 changes: 9 additions & 9 deletions implementing-your-ci-cd/gitlab/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ To enable modular package development, there are a few configurations in Salesfo
2. Go to **Development > Dev Hub**
3. Toggle the button to on for **Enable Dev Hub**

![](<../../.gitbook/assets/image (10).png>)
![](<../../.gitbook/assets/image (16).png>)

### B. Enable Unlocked Packages and Second-Generation Managed Packages

Expand All @@ -84,7 +84,7 @@ For auditing purposes, it is best practice to create a separate [service account
7. Set **Profile** to **System Administrator**
8. Scroll down and click on **Save**

![](<../../.gitbook/assets/image (18).png>)
![](<../../.gitbook/assets/image (29).png>)

{% hint style="info" %}
Only certain [editions](https://help.salesforce.com/s/articleView?id=000326486\&type=1) of Salesforce has API Access. It's best to create a new **Profile** or **Permission Set** and configure the **System Permissions** and enable the **API Enabled** and **Api Only User** permission.
Expand Down Expand Up @@ -260,9 +260,9 @@ Project Access Tokens are only supported on self-managed instances on Free tier
7. Leave **Environment Scope** to **All (default)**
8. Click on **Add variable** to save

![](<../../.gitbook/assets/image (8).png>)
![](<../../.gitbook/assets/image (9).png>)

![](<../../.gitbook/assets/image (25).png>)
![](<../../.gitbook/assets/image (15).png>)

Repeat the steps above and create the following variables below using the sfdxAuthUrl created earlier from the Salesforce CLI.

Expand All @@ -283,7 +283,7 @@ Repeat the steps above and create the following variables below using the sfdxAu
| UAT\_ALIAS | uat | Variable | All (default) | No | No |
| UAT\_SFDX\_AUTH\_URL | \<sfdxAuthUrl> | File | All (default) | No | Yes |

![Project Variables](<../../.gitbook/assets/image (3).png>)
![Project Variables](<../../.gitbook/assets/image (48).png>)

{% hint style="info" %}
The NPM\_SCOPE variable should start with the @ character. Read more about npm scope [here](https://docs.npmjs.com/cli/v7/using-npm/scope).
Expand All @@ -299,7 +299,7 @@ The [dxatscale-template](https://github.com/dxatscale/dxatscale-template) reposi
git clone https://github.com/dxatscale/dxatscale-template.git
```

![](<../../.gitbook/assets/image (3).png>)
![](<../../.gitbook/assets/image (48).png>)

### B. Clone Project Repository

Expand All @@ -311,7 +311,7 @@ git clone https://github.com/dxatscale/dxatscale-template.git
git clone [email protected]:groupname/dxatscale-poc.git
```

![](<../../.gitbook/assets/image (6).png>)
![](<../../.gitbook/assets/image (4).png>)

### C. Copy Template Contents to Project Folder

Expand Down Expand Up @@ -362,7 +362,7 @@ Once the files have been committed, you can verify the files have been pushed th
1. Navigate to **Repository > Files**
2. Verify all the files are visible in the repository

![](<../../.gitbook/assets/image (29).png>)
![](<../../.gitbook/assets/image (29) (1).png>)

1. Navigate to **CI/CD > Pipelines**
2. Verify the pipeline has been skipped
Expand Down Expand Up @@ -540,7 +540,7 @@ Prior to creating the scratch org pools, an initial version of artifacts should
2. Navigate to **Package & Registries > Package Registry**
3. Verify that the latest **core** artifact has been created and tagged with **main** label.

![](<../../.gitbook/assets/image (27).png>)
![](<../../.gitbook/assets/image (27) (1).png>)

### G. Scheduled Jobs

Expand Down
6 changes: 3 additions & 3 deletions implementing-your-ci-cd/gitlab/solution-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ The [.gitlab-ci.yml](https://docs.gitlab.com/ee/ci/yaml/gitlab\_ci\_yaml.html) t

In the template file provided, the structure of the [YAML](https://yaml.org) file follows the following structure:

![Template Code Structure](<../../.gitbook/assets/image (36).png>)
![Template Code Structure](<../../.gitbook/assets/image (36) (1).png>)

| Section | Description |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
Expand All @@ -95,7 +95,7 @@ In the template file provided, the structure of the [YAML](https://yaml.org) fil

The diagram below depicts the various stages and jobs configured in the GitLab CI/CD configuration file .gitlab-ci.yml which incorporates the [sfpowerscripts orchestrator](https://sfpowerscripts.dxatscale.io/faq/orchestrator) and [sfpowerkit package](https://www.npmjs.com/package/sfpowerkit#sfpowerkitpackagevalid) commands to manage your CI/CD process. The grouping of stages and jobs are split into merge requests, merges, and manual triggers of the pipeline.

![](<../../.gitbook/assets/image (14).png>)
![](<../../.gitbook/assets/image (43).png>)

| Type | Stage | Job | Command | Description |
| ------------- | ---------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
Expand All @@ -111,7 +111,7 @@ The diagram below depicts the various stages and jobs configured in the GitLab C

The diagram below highlights the [dxatscale-template](https://github.com/dxatscale/dxatscale-template) recommended scheduled jobs and manual job for Scratch Org Pool Management. The stages and jobs configured in the GitLab CI/CD configuration file .gitlab-ci.yml uses the sfpowerscripts prepare commands to build scratch org pools for Developer and CI Scratch Orgs. Additional schedule job for publishing metrics to your dashboard platform is provided as well.

![](<../../.gitbook/assets/image (30).png>)
![](<../../.gitbook/assets/image (30) (1).png>)

| Type | Stage | Job | Command | Description |
| --------- | ------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ sfpowerscripts provides two specific commands that can help use here. These comm

Let’s first discuss **quickbuild**! This command creates your package version and bundles it into an artifact. It does so without validating any dependencies or test coverage.

![](<../../.gitbook/assets/image (21).png>)
![](<../../.gitbook/assets/image (3).png>)

This command is recommended when wanting to deploy to a ‘developer’ or ST sandbox to validate code before attempting a full build. It has no required flags but must be triggered from within the project directory (if you are using unlocked packages, dev hub becomes mandatory)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Published on November 26, 2018 by Azlam Abdulsalam

# Effective Pull Reviews in Salesforce DX Development - Persistent CI

![](<../../.gitbook/assets/image (2).png>)
![](<../../.gitbook/assets/image (5).png>)

Salesforce DX is a combination of technologies and practices that bring modern development practices such as open and standard developer experience driven by a CLI (Command Line Interface), Repeatable deployment using packaging, automated testing and predominantly source driven development

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Published on November 6, 2019 by Azlam Abdulsalam

# Is it time to roll your own CI/CD for Salesforce?

![](../../.gitbook/assets/image.png)
![](<../../.gitbook/assets/image (46).png>)

CI/CD for Salesforce is in a very exciting phase. On one end you have awesome 'only for Salesforce' DevOps platforms such as Autorabit, Gearset, Copado etc which gets you going as quickly as possible. On the other end, often in the case of large enterprises, a custom-built pipeline is often the preferred choice.

Expand Down
2 changes: 1 addition & 1 deletion sfpowerscripts/metrics-and-dashboards.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,4 @@ The following are the list of metrics that are captured.

![](../.gitbook/assets/dashboard\_edited.png)

![](<../.gitbook/assets/image (52) (1) (1) (1).png>)
![](<../.gitbook/assets/image (52) (1) (1).png>)
Loading

0 comments on commit 76c8424

Please sign in to comment.