Salesforce의 Sandbox에서 소스 추적 (베타)을 시도했습니다.
5940 단어 Salesforce
소스 추적은 스크래치 조직에서 개발할 때 조직에서의 변경과 로컬 프로젝트에서의 변경을 자동으로 검출하고, 개발 중에 실시한 모든 변경 작업을 누출 없이 테스트 환경이나 프로덕션 환경에 릴리스할 수 있다 그렇게하기위한 메커니즘입니다. 이 기능이 (현재는 베타이지만) 샌드박스에서도 사용할 수 있게 되었기 때문에, 변경 세트를 사용한 개발을 대신하는 새로운 개발 수법으로서 기대되고 있습니다.
Salesforce의 Sandbox에서 소스를 추적하는 기능은 이 기사 게시 시점은 베타 제공 중 기능입니다.
프로덕션 조직에서 샌드박스 소스 추적 사용
Sandbox에서 소스 추적을 수행하려면 Sandbox를 만드는 프로덕션 조직에서
設定 > 開発 > DevHub > Enable Source Tracking in Developer and Developer Pro Sandboxes (BETA)
를 미리 활성화해야 합니다.Sandbox 만들기
Sandbox는
設定 > 環境 > Sandbox
에서 UI 기반으로 만들 수 있지만 이번에는 모처럼이므로 Salesforce CLI에서 Sandbox를 만드는 방법을 시도해 보겠습니다.다음 명령은 프로덕션 조직에 로그인한 후 해당 조직에 대해 MyDevSbx라는 Developer Sandbox를 만듭니다. Sandbox를 만드는 데 몇 분이 걸리므로
-w 30
를 지정하고 명령 실행 시간 제한을 30분으로 늘립니다(기본값은 6분). 또한 Sandbox에 로그인하기 위한 사용자 이름이 자동으로 생성되지만, 기억하기 어려우므로 -a
로 별명을 붙여 둡니다.# Salesforce CLI で本番組織にログインし、MyOrg という別名をつけておく
$ sfdx force:auth:web:login -a MyOrg
# MyOrg に対し Sandbox を作成し、DevSbxForSourceTracking という別名をつけておく
$ sfdx force:org:create -u MyOrg -t sandbox sandboxName=MyDevSbx licenseType=Developer -a DevSbxForSourceTracking -w 30
> Name Value
> ─────────────────────────── ─────────────────────────────────
> Id 0GRXXXXXXXXXXXXXXX
> SandboxName MyDevSbx
> Status 完了
> CopyProgress 100
> Description
> LicenseType DEVELOPER
> SandboxInfoId 0GQXXXXXXXXXXXXXXX
> SourceId
> SandboxOrg 00DXXXXXXXXXXXX
> Created Date 2020-12-26T06:30:48.000+0000
> ApexClassId
> Authorized Sandbox Username [email protected]
# Sandbox が作成できたら、確認のためログインしてみる
$ sfdx force:org:open -u DevSbxForSourceTracking
헤더에
Sandbox: MyDevSbx
가 표시되는 Sandbox 조직이 열리면 성공합니다.Sandbox 소스 추적 시도
이제 방금 만든 Sandbox에서 소스 추적이 활성화되어 있는지 확인해 봅시다.
Sandbox에서
取引先(Account)
개체에 テスト(Test__c)
라는 항목을 추가했습니다.그런 다음 소스 추적의 상태를 확인합니다.
아래와 같이,
Account.Test__c
가 Remote
로 Add
되었던 것이 검출되어 있으므로, 성공적으로 소스 추적할 수 있습니다.$ sfdx force:source:status -u DevSbxForSourceTracking
> === Source Status
> STATE FULL NAME TYPE PROJECT PATH
> ────────── ─────────────── ─────────── ────────────
> Remote Add Account.Test__c CustomField
마지막으로 이 변경 내용을 소스 형식의 메타데이터로 로컬 프로젝트로 가져옵니다.
$ sfdx force:source:pull -u DevSbxForSourceTracking
=== Pulled Source
STATE FULL NAME TYPE PROJECT PATH
───── ─────────────── ─────────── ────────────────────────────────────────────────────────────────────
Add Account.Test__c CustomField force-app/main/default/objects/Account/fields/Test__c.field-meta.xml
아래와 같이
Test__c.field-met.xml
라는 메타데이터를 로컬 프로젝트에 가져올 수 있었습니다. 이와 같이, Sandbox상에서 행한 변경도 자동적으로 검출해 로컬의 프로젝트 폴더내에 넣어 넣을 수 있으므로, 릴리스 누설의 걱정이 없어지네요.덤: Sandbox 소스 추적을 사용하여 개발에 자주 사용하는 명령
함께 기억하고 싶은 자주 사용하는 명령들도 소개해 둡니다.
# Sandbox 上での変更は pull することでローカルプロジェクトに取り込める
$ sfdx force:source:pull -u DevSbxForSourceTracking
# ローカルプロジェクトでの変更は、push することで Sandbox に反映できる。
$ sfdx force:source:push -u DevSbxForSourceTracking
# Sandbox 上の既存のメタデータを取り込みたい場合は retrieve が使える
$ sfdx force:source:retrieve -u DevSbxForSourceTracking -m ApexClass:MyApexClass
참고
Reference
이 문제에 관하여(Salesforce의 Sandbox에서 소스 추적 (베타)을 시도했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hrk623/items/ba546e0ca31793fa132e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)