概要
Developer EditionでDevHub機能が有効化されたときにおそらく誰もが考えたとおもうのですが、案外誰もやってなさげだったので自重せずに作成されたSalesforce CLIプラグインです。皆まで言わないです。つまり10個DEを作ればDailyで50までScratch組織作成できます。
インストール方法
$ sfdx plugins:install sfdx-devhub-pool
利用方法
以下のコマンドで、DevHubプールとして指定された組織の内のいずれか最も日別空きスロットの多い組織を利用してScratch組織を作成します。なおあらかじめDevHubを有効化した組織(Developer EditionなどでOK)を複数作っておく必要があります。--devhubpoolusernames
(-p
)オプションにそれらの組織の管理者のユーザ名をコンマ(,)区切りで指定します。あとのオプションは force:org:create
と同じです。
$ sfdx devhubpool:org:create -p admin@hub01.example.org,admin@hub02.example.org -f path/to/project-scratch-def.json
CIなどでDevHubに接続する際にはJWTで接続すると思いますが、プールに指定したユーザアカウントで一気に認証するコマンドも作っています。接続アプリはこの前の記事を参照して1つを共有するようにしてください。
$ sfdx devhubpool:auth:jwt:grant -u admin@hub01.example.org,admin@hub02.example.org -f path/to/server.key -i CLIENT_ID
補足事項
ちなみに、利用規約等でこのような使い方を禁じてるところは現時点(2019/4/1)では見つけられていませんが、Developer Editionのアカウントの複数取得は禁じられてはいないと思うので、その限りにおいては大丈夫だとは思っています。しかしながら、現在OKであっても今後禁止される可能性はなくはないでしょう。どちらかというと作成数制限の緩和・解除の方向に行ってほしいところではあります。もちろんUnlimited Edition契約は腐るほどあるが日次200組織程度では収まらん!みたいな富豪なお客様にも有用にお使いいただけるものではないかと思います(たぶん有償ならいくらでも緩和してもらえるとは思うんですけどね)。