Salesforce CI/CD 集成:快速指南

言鼎科技 2023-06-30 446

CI/CD 一直是 DevOps 的核心,現(xiàn)在這些軟件工程實(shí)踐已經(jīng)真正改變了 Salesforce 生態(tài)系統(tǒng)的游戲規(guī)則。如今,與Salesforce的持續(xù)集成已經(jīng)成為云平臺(tái)界最受關(guān)注的話題。那么為何不?當(dāng)您更快地構(gòu)建、測(cè)試和發(fā)布代碼時(shí),這些實(shí)踐允許更可靠的開發(fā)和發(fā)布周期。

如今,Salesforce 已成為全球許多大大小小的組織不可或缺的一部分。然而,它是最強(qiáng)大的工具之一,但我們不要忘記它有其自身的挑戰(zhàn)。盡管項(xiàng)目變得越來越重要,時(shí)間越來越少,但客戶仍然期望項(xiàng)目能夠按時(shí)交付并具有先進(jìn)的特性和功能,這是傳統(tǒng)的銷售人員部署流程完全不可能實(shí)現(xiàn)的。

但這并不意味著 Salesforce 做不到。這個(gè) CRM 平臺(tái)不遺余力地提供高效和優(yōu)質(zhì)的產(chǎn)品。那么解決方案是什么?在這里, Salesforce 的CI/CD實(shí)施出現(xiàn)了。

CI/CD 并不是一個(gè)新的流行語;它是最著名的 DevOps 實(shí)踐之一,它通過更快地交付開發(fā)和更低的風(fēng)險(xiǎn)來簡(jiǎn)化發(fā)布周期。要高效、自信地構(gòu)建、運(yùn)行和測(cè)試銷售人員應(yīng)用程序,CI/CD 是最佳實(shí)踐。

此博客將指導(dǎo)您完成完整的Salesforce CI/CD 集成。但是,在深入探討如何使用 Salesforce 設(shè)置 CI/CD 流程之前,了解什么是 CI/CD 是必不可少的?

因此,事不宜遲,讓我們開始吧-

什么是持續(xù)集成?

許多組織將持續(xù)集成與持續(xù)開發(fā)、持續(xù)任命等重疊。所以在這里我們描述了持續(xù)集成到底是什么的一般定義?

持續(xù)集成或 CI 是您設(shè)置的一個(gè)過程,以確保您對(duì)系統(tǒng)所做的每一個(gè)小更改都與系統(tǒng)的其余部分兼容。因此,當(dāng)您對(duì)系統(tǒng)進(jìn)行更改時(shí),您將在安全可靠的環(huán)境中部署用戶的主要兩個(gè)參數(shù)。

持續(xù)集成是一種確保您所做的工作在整個(gè)應(yīng)用程序中有效的方法。這種軟件開發(fā)實(shí)踐允許開發(fā)人員定期將他們的更改代碼集成到源代碼存儲(chǔ)庫中。在開發(fā)人員將新代碼放入系統(tǒng)之前或之后運(yùn)行自動(dòng)構(gòu)建和測(cè)試,以保護(hù)源代碼免受外部威脅。

簡(jiǎn)而言之,持續(xù)集成 (CI) 可以讓開發(fā)人員-

  • 經(jīng)常將代碼推送到代碼倉庫(Github、Bitbucket、CodeCommit等)

  • 一旦代碼通過 codebuild、Jenkins CI、Circle CI 等發(fā)布,測(cè)試或構(gòu)建服務(wù)器就會(huì)檢查代碼。

  • 開發(fā)人員獲得有關(guān)測(cè)試的反饋并檢查代碼是通過還是失敗。

  • 如果存在錯(cuò)誤,盡早發(fā)現(xiàn)并在快速周轉(zhuǎn)時(shí)間內(nèi)修復(fù)它們。

  • 代碼經(jīng)過測(cè)試后交付速度更快

  • 經(jīng)常部署

CI 導(dǎo)致 – “更快樂的開發(fā)人員,因?yàn)樗麄儾皇茏璧K?!?/span>

繼續(xù),讓我們看看什么是持續(xù)交付?

什么是持續(xù)交付?

持續(xù)交付是一種軟件工程方法,其中團(tuán)隊(duì)在短周期內(nèi)生產(chǎn)軟件,確保軟件可以在需要時(shí)可靠地發(fā)布。它還確保部署快速進(jìn)行,因?yàn)殚_發(fā)人員希望從每三個(gè)月發(fā)布一個(gè)版本轉(zhuǎn)變?yōu)橐惶彀l(fā)布五個(gè)版本。如果你有持續(xù)交付的東西,你一天只能做 5 次發(fā)布。這意味著部署將完全自動(dòng)化。

持續(xù)交付管道如何工作?

  • 開發(fā)人員會(huì)經(jīng)常將代碼推送到代碼存儲(chǔ)庫。

  • 構(gòu)建服務(wù)器將獲取代碼并構(gòu)建和測(cè)試它。

  • 然后,部署服務(wù)器,在構(gòu)建服務(wù)器完成后,將獲得構(gòu)建輸出,并可以將新版本從 V1 部署到 V2 和更高級(jí)別的應(yīng)用程序服務(wù)器。

這就是持續(xù)交付的工作原理。

繼續(xù),讓我們討論

如何將 CI 與 Salesforce 集成?

要將 CI/CD 與 Salesforce 集成,市場(chǎng)上有許多第三方工具,您可以從中選擇適合您業(yè)務(wù)需求的工具。Salesforce 可以輕松地與這些工具集成,幫助您順利輕松地進(jìn)行 Salesforce CI/CD 集成

使用 CircleCI 進(jìn)行持續(xù)集成

CircleCI 平臺(tái)使您對(duì)代碼的信心自動(dòng)化。它構(gòu)建、測(cè)試并有效地部署軟件。該平臺(tái)是一個(gè)常用的集成工具,可以與您現(xiàn)有的版本系統(tǒng)進(jìn)行集成。這是因?yàn)橐獙⒛x擇的增量更新推送到環(huán)境。該企業(yè)解決方案可以輕松安裝在您的私有云、數(shù)據(jù)中心或本地工具中。它可以在有限的時(shí)間內(nèi)免費(fèi)使用。

使用 Jenkins 進(jìn)行持續(xù)集成

Jenkins 是用 Java 編寫的持續(xù)集成服務(wù)器的開源實(shí)現(xiàn)。該服務(wù)器高度兼容多種語言,可以運(yùn)行在各種平臺(tái)上,包括Linux、Windows和macOS。如果您計(jì)劃針對(duì) scratch org 測(cè)試 salesforce 應(yīng)用程序,您可以輕松地將 salesforce DX 集成到 Jenkins 框架中并自動(dòng)執(zhí)行應(yīng)用程序測(cè)試。

與 Travis CI 的持續(xù)集成

Travis CI 是一種有效的基于云的集成服務(wù),可讓您的開發(fā)人員自信地測(cè)試和部署代碼。使用 Travis CI,您可以在幾分鐘內(nèi)測(cè)試您的代碼,您只需要將您的項(xiàng)目與此集成平臺(tái)同步,它會(huì)快速測(cè)試您的代碼。

組織開發(fā)模型的樣本 CI 回購

使用示例 CI 存儲(chǔ)庫,您可以輕松地克隆所選供應(yīng)商的示例存儲(chǔ)庫。示例 CI 中的每個(gè) repo 都帶有一個(gè)獨(dú)特的示例配置文件和一個(gè)帶有逐步信息的詳細(xì) README.md。

與 Gearset 的持續(xù)集成

Gearset 是一個(gè)出色的 DevOps 工具,它提供了一個(gè)簡(jiǎn)單、快速和點(diǎn)擊可配置的解決方案,使 CI/CD 設(shè)置和維護(hù)具有高度可擴(kuò)展性和可管理性。

在這篇博客中,我們將學(xué)習(xí)使用 CircleCI 將 CI/CD 與 Salesforce 集成。

什么是 CI 流水線?

如果您是 CircleCI 的初學(xué)者,讓我們幫助您快速了解 CI 如何幫助您改進(jìn)開發(fā)工作流程。

CircleCI 是一個(gè)強(qiáng)大的平臺(tái),可以自動(dòng)化對(duì)代碼的信心。它可以讓您更快地構(gòu)建、測(cè)試、運(yùn)行和編碼。CircleCI 管道將幫助您更改應(yīng)用程序并在部署前快速測(cè)試它們。如果您的測(cè)試通過或失敗,它會(huì)立即讓您使用。一旦您對(duì)代碼感到滿意,您就可以手動(dòng)或自動(dòng)將更改部署到您的用戶。

如何設(shè)置 CI 流水線?

要開始創(chuàng)建 CI 管道,您需要先設(shè)置一些任務(wù) -

1. 設(shè)置一個(gè) DevOps 賬戶
2. 創(chuàng)建你自己證明的 SSL 證書和私鑰
3. 對(duì)于基于 JWT 的授權(quán),你需要?jiǎng)?chuàng)建一個(gè)證書;Salesforce 將保留證書,而 CircleCI 將保留私鑰。
4. 在開始管道之前,您必須創(chuàng)建一個(gè)連接的應(yīng)用程序,它連接云環(huán)境中的 salesforce 實(shí)例。

要?jiǎng)?chuàng)建連接的應(yīng)用程序,您可以按照 Salesforce 站點(diǎn)上提供的步驟進(jìn)行操作。

1.用Salesforce存儲(chǔ)server.crt文件
2.將server key添加到CircleCI
3.Markdown開發(fā)應(yīng)用給的consumer key

如果您想要由 VCS 提供商托管的 salesforce 應(yīng)用程序項(xiàng)目,請(qǐng)選擇 GitHub 或 BitBucket。在 GitHub 上托管項(xiàng)目后,您就可以開始組裝管道了。

將項(xiàng)目添加到 CircleCI

該項(xiàng)目仍處于開發(fā)階段;要完成該項(xiàng)目,您需要-

1. 添加 CircleCI 配置文件
2. 使用 CircleCI 授權(quán)您的 VCS,即 GitHub 或 BitBucket,然后登錄
3. 您將被重定向到儀表板
4. 在儀表板上,單擊“添加項(xiàng)目”,項(xiàng)目列表來自您的帳戶將顯示在您的屏幕上
5. 單擊您的銷售人員應(yīng)用程序的“設(shè)置項(xiàng)目”
6. 單擊“開始構(gòu)建”。

如果您的工作失敗,請(qǐng)不要擔(dān)心,這是預(yù)料之中的?,F(xiàn)在我們需要添加一個(gè)帶有集成和設(shè)置環(huán)境變量的配置文件。

如何添加環(huán)境變量?

要添加所需的環(huán)境變量,請(qǐng)按照下列步驟操作 -

1. 你會(huì)看到一個(gè)導(dǎo)航欄,在屏幕的左邊,會(huì)有你之前添加到 CircleCI 的項(xiàng)目列表。
2. 你會(huì)在他們旁邊看到一個(gè)齒輪。
3. 單擊您的 salesforce 應(yīng)用程序旁邊的齒輪以轉(zhuǎn)到設(shè)置頁面。
4. 在設(shè)置頁面上,您會(huì)看到一個(gè)選項(xiàng)“build settings”。
5. 單擊構(gòu)建設(shè)置下的環(huán)境變量。

我們已經(jīng)在前面的步驟中創(chuàng)建了消費(fèi)者密鑰?,F(xiàn)在我們只需要添加名稱為 SFDX_CONSUMER_KEY 的新環(huán)境變量和來自 Salesforce 的值。

對(duì)于身份驗(yàn)證,您需要添加兩個(gè)突出的環(huán)境變量:

  • SFDX_JWT_KEY

  • SFDX_CONSUMER_KEY

1. 要獲取使用 JWT 密鑰編碼的 Base64,您必須將目錄導(dǎo)航到您在前面的步驟中創(chuàng)建的自證明證書文件。
2. 導(dǎo)航之后,點(diǎn)擊這個(gè)命令-base64 server.key
3. base64編碼的值,現(xiàn)在將其復(fù)制并添加到JWT key下的項(xiàng)目環(huán)境變量中。

現(xiàn)在是時(shí)候添加您的配置了。

添加配置

CircleCI 通過 Salesforce 認(rèn)證,這意味著您可以在配置中使用 salesforce DX apex orb 命令。

1. 在項(xiàng)目存儲(chǔ)庫中,添加一個(gè)頂級(jí) .circleci 文件夾,
2. 創(chuàng)建一個(gè) config.yml 文件。
3. 創(chuàng)建 config.yml 文件后,讓我們開始從 SFDX Apex orb 復(fù)制包含的用法示例。

Salesforce CI/CD 集成:快速指南
版本:2.1
 球體:
   頂點(diǎn):circleci/ salesforce-apex@xy
 工作:
   安裝驗(yàn)證:
     碼頭工人:
       - 圖片:cimg/節(jié)點(diǎn):14.5
     腳步:
       - 查看
       - 頂點(diǎn)/設(shè)置:
          默認(rèn)用戶名:user@email.com
       - 跑步:
           名稱:在此處運(yùn)行您的 SFDX 命令
           命令: |
             echo “您現(xiàn)在可以訪問 sfdx cli 并可以對(duì)其執(zhí)行命令。https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference.htm”
 工作流程:
   基本測(cè)試:
     工作:
       - 安裝驗(yàn)證

訪問“orbs”需要 CircleCI 配置的 2.1 版。

  • 以后要更新東西,最好設(shè)置配置的版本。

  • 要定義和導(dǎo)入 orb 包,請(qǐng)使用 orbs 節(jié)。

  • 訪問 orb 注冊(cè)表以查看最新的文檔并導(dǎo)入最新的 orb 版本。

Orbs 可以在完整版本中導(dǎo)入,但我們建議使用次要版本。它將幫助您自動(dòng)選擇補(bǔ)丁版本。

工作

orb 導(dǎo)入后,您會(huì)發(fā)現(xiàn) JOB STANZA 中有一個(gè)作業(yè)。

它以名稱提供:install_authenticate

它看起來像這樣——

工作:
install_authenticate:

在這里你可以手動(dòng)定義你的配置文件。

碼頭工人形象

CircleCI 帶有預(yù)構(gòu)建的 docker 鏡像。這些映像已預(yù)安裝 NodeJS,這使您可以使用 Salesforce CLI 安裝節(jié)點(diǎn)版本。您不需要單獨(dú)安裝節(jié)點(diǎn)和 npm。

看起來像-

泊塢窗:
-圖像:cimg/節(jié)點(diǎn):14.5

工作流程

工作流是 CircleCI 的突出特點(diǎn),它可以讓你調(diào)整你想要運(yùn)行的作業(yè)和運(yùn)行順序。如果您在工作流中只有一個(gè)作業(yè),則可以高效地運(yùn)行它。

例如 - 創(chuàng)建一個(gè)名為 basic-test 的工作流并列出 install_authenticate 作業(yè)。

看起來像-

工作流程:
基本測(cè)試:
工作:
- install_authenticate

所以像這樣,您可以輕松地將您的 Salesforce 應(yīng)用程序與 CI/CD 集成。不過,如果您有任何疑問,請(qǐng)隨時(shí)聯(lián)系經(jīng)驗(yàn)豐富的銷售團(tuán)隊(duì)開發(fā)人員。

您準(zhǔn)備好進(jìn)行 Salesforce CI/CD 集成了嗎

Salesforce 持續(xù)集成和持續(xù)部署可實(shí)現(xiàn)更快的高質(zhì)量軟件交付和滿意的業(yè)務(wù)客戶。因此,如果您希望將您的業(yè)務(wù)提升到一個(gè)新的水平,Salesforce CI/CD 集成是正確的做法。

如果您正在尋求幫助,我們隨時(shí)為您提供幫助。我們是一家領(lǐng)先的銷售人員開發(fā)公司,在提供一流的銷售人員解決方案方面擁有 9 年以上的豐富經(jīng)驗(yàn)。無論您的企業(yè)規(guī)模如何,我們都將為您提供最佳實(shí)施、集成和Salesforce 咨詢服務(wù)。

言鼎科技

The End