Salesforce 應(yīng)用生命周期管理

應(yīng)用程序生命周期管理

一個(gè)Salesforce系統(tǒng)可以有多個(gè)版本,最常見的有:

  • production版本:終端用戶實(shí)際使用的版本
  • sandbox版本:沙盒環(huán)境,用于開發(fā)、測(cè)試等

在對(duì)Salesforce系統(tǒng)的功能持續(xù)開發(fā)的過程中,有些功能可以直接在production版本中直接更新,比如增減報(bào)表、建立視圖等,不用擔(dān)心對(duì)整個(gè)系統(tǒng)造成潛在的風(fēng)險(xiǎn)。而有些功能或應(yīng)用程序則必須通過復(fù)雜的步驟來實(shí)現(xiàn),比如增減自定義對(duì)象、字段、添加Apex類等。這些功能在開發(fā)之后必須經(jīng)過詳細(xì)的測(cè)試,并且如果沒有對(duì)用戶進(jìn)行合適的培訓(xùn),新的功能可能造成用戶的誤解,從而對(duì)系統(tǒng)造成潛在的風(fēng)險(xiǎn)。

對(duì)于Salesforce應(yīng)用程序生命周期合理的管理,有助于將風(fēng)險(xiǎn)減小至最低,這一點(diǎn)在商業(yè)邏輯復(fù)雜的大企業(yè)系統(tǒng)的開發(fā)中尤其重要。

應(yīng)用程序生命周期

一個(gè)應(yīng)用程序的生命周期大體可以分為以下幾部分:

  1. 計(jì)劃:在開發(fā)之前對(duì)于需求進(jìn)行詳細(xì)的規(guī)劃設(shè)計(jì)
  2. 開發(fā):開發(fā)相應(yīng)的應(yīng)用程序或功能,最好使用sandbox版本進(jìn)行
  3. 測(cè)試:測(cè)試開發(fā)出的功能,將問題反饋給開發(fā)者進(jìn)行修復(fù),最好使用sandbox版本進(jìn)行
  4. 部署:當(dāng)開發(fā)的應(yīng)用程序或功能經(jīng)過完整的測(cè)試之后,可以部署上線,比如從sandbox版本部署到production版本中,供終端用戶使用

大型開發(fā)環(huán)境的構(gòu)建

對(duì)于大型開發(fā)環(huán)境,需要多個(gè)開發(fā)者共同開發(fā),每一個(gè)開發(fā)者都有自己的sandbox開發(fā)環(huán)境。

當(dāng)開發(fā)者完成功能后,可以通過版本控制軟件將功能整合到質(zhì)量管理的sandbox環(huán)境中。

開發(fā)者的功能整合后,可以上傳到用戶測(cè)試的環(huán)境中。

當(dāng)測(cè)試通過后,可以上傳到真正的production環(huán)境中。

沙盒的類型

沙盒(sandbox)可以看作是production環(huán)境的一個(gè)拷貝,供開發(fā)和測(cè)試使用。沙盒可以刷新,即從production中重新拷貝一次,得到最新的系統(tǒng)和數(shù)據(jù),而此前在沙盒中的任何更改都將丟失。

沙盒分為多種類型:

  • Developer:只包含系統(tǒng)的設(shè)置,不包含數(shù)據(jù)庫(kù)。開發(fā)者可以在其中添加或載入不多于200MB的數(shù)據(jù)用于開發(fā)和測(cè)試。每天可以刷新一次。
  • Developer Pro:和Developer類似,不過可存儲(chǔ)的數(shù)據(jù)量達(dá)到了1GB。每天可以刷新一次。
  • Partial Copy:是一種特殊的Developer類型的沙盒,可以在其中預(yù)定義一些存在于production環(huán)境中的數(shù)據(jù)作為樣例數(shù)據(jù)。在預(yù)定義樣例數(shù)據(jù)時(shí),只能選擇哪些類型的對(duì)象會(huì)存在樣例數(shù)據(jù)中,無法選擇具體的記錄??纱鎯?chǔ)的數(shù)據(jù)量是5GB,每個(gè)對(duì)象可容納的樣例數(shù)據(jù)最多10000條記錄。每5天可以刷新一次。
  • Full:從production環(huán)境的完全拷貝,系統(tǒng)功能、設(shè)置、數(shù)據(jù)都完全一樣。每29天可以刷新一次。

在production環(huán)境中的設(shè)置界面,可以設(shè)置此系統(tǒng)的沙盒。

當(dāng)沙盒被創(chuàng)建成功之后,其中的用戶的登錄名會(huì)在后面加上“.沙盒名”。比如一個(gè)用戶在production環(huán)境中的用戶名是“user1@test.com”,那么在一個(gè)名為“dev”的沙盒中,其用戶名變?yōu)椤?a target="_blank" rel="nofollow">user1@test.com.dev”。其密碼不變。

同樣的對(duì)象記錄可以從production環(huán)境被拷貝到沙盒中,但是要注意:它們的ID已經(jīng)改變了。所以在代碼或其他地方要讀取某記錄時(shí),要盡量避免使用寫死的ID值,而要使用其他方法來查詢、讀取。

更改集(Change Sets)

如果要將設(shè)置的改變從一個(gè)系統(tǒng)拷貝到另一個(gè)系統(tǒng),可以使用更改集。

關(guān)于更改集:

  • 更改集只包括能從“設(shè)置”界面中做出的更改,而非所有的更改。
  • 在兩個(gè)系統(tǒng)間發(fā)送和接收更改集需要它們擁有“部署鏈接”(Deployment Connection)。
  • 在兩個(gè)系統(tǒng)間發(fā)送和接收更改集需要它們使用更改集的權(quán)限。
  • 使用更改集的兩個(gè)系統(tǒng)必須從屬于同一個(gè)production環(huán)境,比如同一個(gè)production環(huán)境下的不同沙盒系統(tǒng),或者某沙盒和production環(huán)境。

改變部署的最佳實(shí)踐

當(dāng)開發(fā)者在開發(fā)用的沙盒中完成了功能的開發(fā)和其他設(shè)置之后,就需要將這些改變部署在生產(chǎn)環(huán)境中。

在這個(gè)過程中,有以下幾點(diǎn)最佳實(shí)踐:

  • 不允許在生產(chǎn)環(huán)境中進(jìn)行任何改變。生產(chǎn)環(huán)境中的改變必須始終從開發(fā)沙盒中部署。
  • 使用Metadata API來部署各組件的改變。
  • 只允許一個(gè)管理員在生產(chǎn)環(huán)境中進(jìn)行“設(shè)置”界面的更改。
  • 對(duì)于需要經(jīng)常向生產(chǎn)環(huán)境中部署的情況,制定定期的計(jì)劃任務(wù)。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,678評(píng)論 19 139
  • 先說項(xiàng)目開發(fā)過程中團(tuán)隊(duì)人員的分工協(xié)作。 一 人員安排 畢業(yè)至今的大部分項(xiàng)目都是獨(dú)立完成,雖然也有和其他同事協(xié)作的時(shí)...
    SnowflakeCloud閱讀 11,137評(píng)論 3 59
  • 吉笇閱讀 261評(píng)論 0 1
  • 佛說:上輩子的五十次回眸,才換來了今生的擦肩而過。那我是積攢了多少世的輪回,才能有幸與你——榕城桂林在這...
    shiqiujie閱讀 218評(píng)論 0 1
  • Summary Ch.10 Bites & Pieces Part 1 本章的內(nèi)容非常雜,有很多是寫文章的基礎(chǔ)知識(shí)...
    小芷芷閱讀 369評(píng)論 0 0

友情鏈接更多精彩內(nèi)容