Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
スクラッチ組織活用術 Salesforce Developers Meetup #24
Search
omiend
November 13, 2020
Technology
0
1.3k
スクラッチ組織活用術 Salesforce Developers Meetup #24
スクラッチ組織活用術
Salesforce Developers Meetup #24
omiend
November 13, 2020
Tweet
Share
More Decks by omiend
See All by omiend
Nuxt.jsのComponent分割単位と,SSRをする上で気をつけること
omiend
1
790
Nuxt.js_Vue.js_のVuexの動かしかたをまとめてみたよ.pdf
omiend
0
120
20181208_好きだけじゃツライScala.js_共有版_.pdf
omiend
0
120
20181110 Scala関西Summit 懇親会LT「Scalaのかわいいところ」
omiend
0
560
Other Decks in Technology
See All in Technology
202512_AIoT.pdf
iotcomjpadmin
0
140
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
500
Strands AgentsとNova 2 SonicでS2Sを実践してみた
yama3133
1
1.9k
AI with TiDD
shiraji
1
290
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
220
事業の財務責任に向き合うリクルートデータプラットフォームのFinOps
recruitengineers
PRO
2
210
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
200
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
390
SQLだけでマイグレーションしたい!
makki_d
0
1.2k
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
8
2.2k
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
180
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
770
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
31
Leadership Guide Workshop - DevTernity 2021
reverentgeek
0
170
Abbi's Birthday
coloredviolet
0
3.8k
The Curious Case for Waylosing
cassininazir
0
190
How to Talk to Developers About Accessibility
jct
1
85
Skip the Path - Find Your Career Trail
mkilby
0
27
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Code Review Best Practice
trishagee
74
19k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
270
The agentic SEO stack - context over prompts
schlessera
0
560
Information Architects: The Missing Link in Design Systems
soysaucechin
0
720
Ruling the World: When Life Gets Gamed
codingconduct
0
100
Transcript
アルプ株式会社 @omiend スクラッチ組織活用術 Salesforce Developers Meetup #24
自己紹介 オミ@omiend 仕事: アルプ株式会社。 Scala が好き。 Salesforce は2011年~2015年に Force.com を中心に開発。
1月にアルプへ入社して、5年ぶりの Salesforce 開発。 浦島太郎状態。 趣味: ジョギング、ウォーキング、映画、音楽
Scalebase - アルプ株式会社
Scalebase Connect for Salesforce
alp.connpass.com 2020年12月11日(金) 19:00 ~ 田中宏樹さま - 株式会社セールスフォース・ドットコム Salesforce の最新の開発事情 相野谷直樹さま
- アルプ株式会社 Modern Salesforce CI pattern (ただし第1世代パッケージ管理)(仮) 木村篤彦さま - 株式会社co-meeting Salesforce連携アプリ開発パターン(仮) 松田淳司さま - 株式会社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 List Alias Value ──────────── ────────────────────────── DevHub
[email protected]
$ sfdx force:org:create \ -f ./config/project-scratch-def.json \ --setdefaultusername \ -a
MyScratchOrg \ --targetdevhubusername DevHub \ --durationdays 30 スクラッチ組織の作成
$ 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 標準ユーザーを作る
$ 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 MyScratchOrg Successfully 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 ‘21 releasenotes.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.com 2020年12月11日(金) 19:00 ~ 田中宏樹さま - 株式会社セールスフォース・ドットコム Salesforce の最新の開発事情 相野谷直樹さま
- アルプ株式会社 Modern Salesforce CI pattern (ただし第1世代パッケージ管理)(仮) 木村篤彦さま - 株式会社co-meeting Salesforce連携アプリ開発パターン(仮) 松田淳司さま - 株式会社ZAICO はじめてのAppExchange ~ZAICO for Salesforceのリリースに挑む ~ 【再掲】SaaS * Salesforce Developers Winter 2020