2018.09.28

Dreamforce2018 day2:Hands-on Workshop:Build Your First Salesforce DX App with Unlocked Packages

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初めに

西日本CI部大阪チームの及川です。
Dreamforce2018に参加しています。参加したはいいものの、英語の読みは何とかなるレベルで、会話やヒアリングが全くNGなイチSalesforceのDeveloperとして今回のDreamforce参加にあたり、重点テーマを決めてセッションに臨みました。

重点テーマについて

SalesforceDXが発表される前までは本番環境へのリリースについては変更セットやメタデータを自分で取りまとめてリリースするしか方法が無く、リリースした状態を保持しようとするとローカルに全リソースを落としてきてローカル保存もしくは、コード管理システムを導入する必要がありました。また、コード管理システムで管理しているものと本番環境とが一致しているとの保証は無いということがネックになっていたと感じています。
その問題を解決するものになるのではないか?ということで「SalesforceDX」「Deploy」をキーワードに選択したセッションが以下のものです。

・18.09.25 9:30~10:10 How Salesforce Uses DevOps to Run Salesforce
・18.09.25 11:30~12:10 Deploy and Organize Metadata Using Unlocked Packages
・18.09.26 9:00~9:40 Salesforce DX Rapid Development and Lightning Flow
・18.09.26 12:30~15:00 Hands-on Workshop:Build Your First Salesforce DX App with Unlocked Packages
本命は9月26日12:30~のHands-onを受講すること!その前に予習と英語に慣れるために初日から9月26日のHands-onが始まる前に受講することにしました。

Dreamforce直前に発表されたホットなトピック

Winter'19で正式リリースとなる「ロック解除済みパッケージ」を使用することにより更に進んだALM(Apprication Lifesycle Management)を実施することができます。
「ロック解除済みパッケージ」については日本語訳されたTrailHeadがありますので一読されるとよいと思います。
SalesforceDXとロック解除済みパッケージを使用したソースコード管理というと開発者に特化したもののように思いがちですが、上記セミナーではしきりに「Adminにこそ使ってほしい」というニュアンスのことを話していました。

特に、「How Salesforce Uses DevOps to Run Salesforce」では項目の追加、「Salesforce DX Rapid Development and Lightning Flow」ではフローの変更をAdminが行うというデモシナリオでした。Admin自らロック解除済みパッケージ化したフローをGitでバージョン管理し、テスト環境にあげ、本番環境にリリースするという作業をVisual Studio Codeで行っていました。

本命のHands-onに参加してみた

さて前置きが長くなってしまいました。私が一番楽しみにしていたHands-onの内容をご説明したいと思います!以下のURLからTrailMixを開いていただき順に行ってください!
・・・・・
・・・・・・
いや・・・本当なんですよ?既に公開されているTrailHeadの単元でかつ、Workshopの説明書きにはトレイルヘッドで予習しておいてね!って書いてあるのにまさか全く同じことやると思わないじゃないですかー。そのせいか、2つ目の単元に移る頃には席を立つ人もちらほら・・・。
前に座ってた方はさっさとすべての単元を終わらせて去って行かれました。やだカッコいい・・・。
内容がこれだけだと日本に帰ってくるなと言われそうなので、「ロック解除済みパッケージ」が正式リリースになったことで、SalesforceDXを使用したライフサイクルが変更セットを使用する時とどのように変わったのかをスライドベースで説明させてもらいます。

①DevHub組織について

・本番環境の設定で「DevHub組織の有効」にチェックを入れた組織に対して作成できるようになる。
・上記有効チェックを付けられない組織の場合は、必要項目を入力の上30日間有効なDevHub組織を割り当てることが可能。
・DevHub組織はScratch組織や管理パッケージの作成と管理に使用する。

補足:Scratch組織について 
・迅速に開発用の環境を構築することができ、また破棄も簡単にできる。

②組織のタイプについて

DevHub組織が増え、開発に使用する組織は5つに。(Trailhead Playgroundは除く)

③変更セットを使用しての本番リリース方法

・変更セットは、ある組織から別の組織にメタデータを展開するためのリリース成果物。
・AntまたはIDE経由でpackage.xmlでデプロイされたプログラム的なもの。
上記の特徴を持ったものを使用し、本番へリリースする。

④パッケージを使用しての本番リリース方法

パッケージは関連するコードと設定のグループである成果物を使用
(※意訳:上図のように機能単位でパッケージ分けをし、その内容はコードと設定のまとまりでリリースする)

まとめ

メリット
・「ロック解除済みパッケージ」とSalesforceDXを使用することにより、パッケージ単位ごとにバージョンを任意で付与することができ、それがソース管理システムによって履歴として管理することができる。
・SalesforceDXコマンドにより本番環境に適用されているパッケージバージョン情報を取得することができる。

デメリット
・コマンドベースなのでとっつきにくい
・変更セットベースでリリースをしていた組織の変更対応コストが大きくなる

私の所感としては、DeveloperSandbox環境でDevHub組織を取得することができるようになったので、まずはそちらで十分な検証と知見を高めることが先決であると考えています。
Dreamforceも残り2日(実質1日半)ですが、情報収集に努めたいと思います。
29 件

関連する記事