スクラッチ組織活用術 Salesforce Developers Meetup #24
アルプ株式会社@omiendスクラッチ組織活用術Salesforce Developers Meetup #24
View Slide
自己紹介オミ@omiend仕事:アルプ株式会社。Scala が好き。Salesforce は2011年~2015年に Force.com を中心に開発。1月にアルプへ入社して、5年ぶりの Salesforce 開発。浦島太郎状態。趣味:ジョギング、ウォーキング、映画、音楽
Scalebase - アルプ株式会社
Scalebase Connect for Salesforce
alp.connpass.com2020年12月11日(金) 19:00 ~田中宏樹さま - 株式会社セールスフォース・ドットコムSalesforce の最新の開発事情相野谷直樹さま - アルプ株式会社Modern Salesforce CI pattern (ただし第1世代パッケージ管理)(仮)木村篤彦さま - 株式会社co-meetingSalesforce連携アプリ開発パターン(仮)松田淳司さま - 株式会社ZAICOはじめてのAppExchange ~ZAICO for Salesforceのリリースに挑む~SaaS * Salesforce Developers Winter 2020
スクラッチ組織活用術
課題
課題Salesforce開発は、組織がどんどん増えていく- 本番環境、Sandbox環境*n用途の為に都度Sandbox環境を作る運用は結構つらい- 作成がちょっと煩雑- 管理も職人芸になっていく- メンテ漏れ自分だけの開発環境が欲しいスクラッチ組織というとても便利な物がある- DevHub組織さえ有効化すればOK
スクラッチ組織を作成する
スクラッチ組織の作成$ sfdx force:auth:web:login -d -a DevHub$ sfdx force:alias:list=== Alias ListAlias Value──────────── ──────────────────────────DevHub [email protected]
$ sfdx force:org:create \-f ./config/project-scratch-def.json \--setdefaultusername \-a MyScratchOrg \--targetdevhubusername DevHub \--durationdays 30スクラッチ組織の作成
スクラッチ組織の作成{"edition": "Developer","orgName": "SomeOrgName","adminEmail": "[email protected]","username": "[email protected]","features": ["API"]}.project/config/sample-project-scratch-def.json
ソースコードをデプロイする
sfdx force:source:deploy \-u MyScratchOrg -m ApexClass,...ソースコードをデプロイする
テストデータを作成する
テストデータを作成する$ sfdx force:data:tree:import \-p .project/data/Account-plan.json \-u MyScratchOrg
$ sfdx force:data:tree:import \-p .project/data/Account-plan.json \-u MyScratchOrgテストデータを作成する
[{"sobject": "Account","saveRefs": true,"resolveRefs": false,"files": ["Accounts.json"]}]テストデータを作成する
{"records": [{"attributes": {"type": "Account","referenceId": "A"},"Name": "アルプ株式会社 ","BillingPostalCode": "1086022", "BillingCountry": "日本", "BillingState": "東京都", "BillingCity": "港区","BillingStreet": "港南 2-15-1 品川インターシティA棟 22階 SPROUND","ShippingPostalCode": "1086022", "ShippingCountry": "日本", "ShippingState": "東京都", "ShippingCity": "港区","ShippingStreet": "港南 2-15-1 品川インターシティA棟 22階 SPROUND"}]}テストデータを作成する
標準ユーザーを作る
$ sfdx force:user:create \--setalias StandardUser \--definitionfile ./config/project-scratch-standart-user-def.json標準ユーザーを作る
標準ユーザーを作る{"Username": "[email protected]","LastName": "Standard","Email": "[email protected]","profileName": "標準ユーザ","generatePassword": true}.project/config/sample-project-scratch-standard-user-def.json
スクラッチ組織にログインする
$ sfdx force:org:open -u MyScratchOrg$ sfdx force:org:open -u StandartUserスクラッチ組織にログインする
パスワードを作成する
$ sfdx force:user:password:generate -u MyScratchOrgSuccessfully set the password "qwerty" for user [email protected].パスワードを作成する
作成したユーザーの詳細を参照する
$ sfdx force:user:display -u MyScratchOrg作成したユーザーの詳細を参照する
など など etc etc
コマンドをたくさん叩くのがつらい!
sfdx コマンドはshell に組み込める
勝ったな
スクラッチ組織の作成
注意点- 名前空間を利用している場合、スクラッチ組織作成時の設定ファイルで指定してあげる必要がある( "namespace": "hoge", )。- スクラッチ組織作成時のユーザー名は、一意になるように、都度書き換える必要がある。- テストデータを作成する際、一意の値は都度書き換える必要がある(Account.Name に指定する値など)。
Salesforce Winter '21
Salesforce Winter ‘21releasenotes.docs.salesforce.com/ja-jp/winter21/release-notes/rn_forcecom_development.htm
- 弊社のプロダクトは主にAppExchangeのパッケージ開発。- ソースコードはGitHub管理しており、第2世代パッケージ管理を目指している(まだ対応できていない)。- パッケージ作成を行う組織(一般的にはSourceOrg?)のシェイプを作成し、そこからスクラッチ組織を作成するみたいな機能かと思うが、上記の点でマッチしなかった。- ズビバゼンSalesforce Winter ‘21
より快適なスクラッチ組織ライフを目指して
Scalebase Connect for Salesforce- GitHub Actions にてスクラッチ組織を作成し、テストを実行- この辺は弊社主催の「SaaS *Salesforce Winter 2020」にてご紹介できるかも
alp.connpass.com2020年12月11日(金) 19:00 ~田中宏樹さま - 株式会社セールスフォース・ドットコムSalesforce の最新の開発事情相野谷直樹さま - アルプ株式会社Modern Salesforce CI pattern (ただし第1世代パッケージ管理)(仮)木村篤彦さま - 株式会社co-meetingSalesforce連携アプリ開発パターン(仮)松田淳司さま - 株式会社ZAICOはじめてのAppExchange ~ZAICO for Salesforceのリリースに挑む~【再掲】SaaS * Salesforce Developers Winter 2020