Salesforce에서 조직 모양을 사용하여 스크래치 조직 만들기

5594 단어 Salesforce
이번에는 Salesforce에서 조직 모양을 사용하여 스크래치 조직을 만들려고했습니다.
조직 모양을 사용하면 특정 프로덕션 조직의 상태를 재현한 스크래치 조직을 손쉽게 만들 수 있습니다. 주요 용도로는 스크래치 조직에서 개발할 때 프로덕션 환경에 가까운 환경이 필요한 경우나 문제해결을 위해 특정 고객의 환경을 재현하고 싶은 경우 등이 있습니다.
주의점으로서는, 재현되는 것은 영속적인 (사용자에 의해 변경되지 않는) 설정 정보만이다라는 점입니다. 주로 에디션, 계약에 의해 활성화되는 기능, 제한, 라이센스 등이 대상이 되고 있으며, 데이터, 메타데이터, 각 기능의 활성화 상황 등은 포함되지 않습니다. 이 근처가 샌드박스와의 차이가 됩니다.

Salesforce의 조직 모양을 사용하여 스크래치 조직을 만드는 기능은 이 기사 게시 시점에 베타를 제공하는 기능입니다.

조직 모양 사용 및 권한 설정



조직 모양을 사용하려면 복사 원본 프로덕션 조직에서 設定 > 開発 > 組織シェイプ에서 조직 모양을 사용하도록 설정해야 합니다. 또한 어떤 DevHub 조직이 스크래치 조직을 만들 수 있는지 지정합니다. 이렇게 하면 권한이 없는 DevHub 조직에서 에디션 및 라이선스와 관련된 프로덕션 환경의 사용을 읽을 수 없게 됩니다.



그런 다음 스크래치 조직을 만드는 DevHub 조직에서 권한 집합을 만들고 스크래치 조직을 만드는 사용자에게 할당합니다. 조직 모양을 만드는 사람과 스크래치 조직을 만드는 사람이 다를 수 있으므로 필요에 따라 권한 집합을 나눌 수도 있습니다.



조직 모양 만들기



조직 모양을 생성하는 작업은 복사할 프로덕션 조직을 인증한 Salesforce CLI에서 수행합니다. 조직 모양을 만든 후 STATUSACTIVE이면 조직 모양을 사용하여 스크래치 조직을 만들 수 있습니다.
# Salesforce CLI で本番組織にログインし、ProdOrg という別名をつけておく
$ sfdx force:auth:web:login -a ProdOrg

# ProdOrg から組織シェイプを作成する
$ sfdx force:org:shape:create -u ProdOrg
Successfully created org shape for 3SRXXXXXXXXXXXXXXX.

# 有効な組織シェイプを確認する
$ sfdx force:org:shape:list
=== Org Shapes
  ALIAS    USERNAME             ORG ID              SHAPE STATUS  CREATED BY                CREATED DATE
  ───────  ───────────────────  ──────────────────  ────────────  ───────────────────  ────────────────────────────
  ProdOrg  [email protected]  00DXXXXXXXXXXXXXXX  Active        [email protected]  2020-12-26T08:25:08.000+0000

조직 모양을 사용하여 스크래치 조직 만들기



이제 작성한 조직 모양에서 스크래치 조직을 작성해 보겠습니다.
스크래치 조직을 조직 모양에서 만들려면 sourceOrg 로 복사할 조직 ID를 지정한 *-scratch-def.json 파일을 만듭니다.

config/config/example-shape-scratch-def.json
{
    "orgName": "Scratch Org with Shape",
    "sourceOrg": "00DXXXXXXXXXXXXXXX"
}

그런 다음이 정의 파일을 사용하여 항상 Dev Hub 조직에서 스크래치 조직을 만들 수 있습니다.
# Salesforce CLI で Dev Hub 組織にログインし、DevHub という別名をつけておく
$ sfdx force:auth:web:login -a DevHub

# sourceOrg を指定した定義ファイルでスクラッチ組織を作成する
$ sfdx force:org:create -v DevHub -t scratch -f config/example-shape-scratch-def.json -a ScratchOrgWithShape -d 1 -w 30
Successfully created scratch org: 00DXXXXXXXXXXXXXXX, username: [email protected]

# 組織シェイプを使って作成したスクラッチ組織を開く
$ sfdx force:org:open -u ScratchOrgWithShape

작성한 스크래치 조직이 복사 원본의 프로덕션 환경과 같은 상태가 되어 있는지를 확인하려면 設定 > 会社の設定 > 組織情報 에서 에디션이나 라이센스를 비교해 보면 알기 쉽다고 생각합니다. 반면에 메타데이터나 데이터는 복사되지 않으므로 응용 프로그램이나 객체 등은 복사되지 않아야 합니다.


덤: 프로덕션 조직에서 사용하는 라이센스 및 기능을 확인합니다.



조직 모양에는 모양을 만들 때 프로덕션 조직에서 사용하는 라이센스와 기능을 스크래치 조직의 정의 파일로 내보내는 기능이 있습니다. 이것을 사용하면 프로덕션 조직에서 어떤 라이센스와 기능이 사용되고 있는지를 목록에서 확인할 수 있으므로 알아두면 편리할지도 모릅니다.
# ProdOrg に対し組織シェイプを作成し、コンフィグファイルに書き出す
$ sfdx force:org:shape:create -u ProdOrg  -f config/exported-shape-scratch-def.json
Successfully created scratch org definition file in the project's config directory for exported-shape-scratch-def.json.

# 書き出されたスクラッチ組織の定義ファイルを開く
$ cat config/exported-shape-scratch-def.json
{
  "edition": "developer",
  "features": [
    "addcustomapps:XX",
    "addcustomfields:XX",
    "addcustomobjects:XX",
    "addcustomrelationships:XX",
    ...

참고


  • 조직 모양을 기반으로 스크래치 조직 만들기(베타) | Salesforce DX 개발자 가이드
  • org Commands | Salesforce CLI Command Reference
  • 좋은 웹페이지 즐겨찾기