超概要
参考文献に記載しているSalesforceのTrailMix内で説明されているコマンドを整理
前準備
DevHub有効化した組織の準備
Salesforceの組織にログインして以下操作を実行
- 左上のギアアイコンから設定をクリック
- SetUp(設定)画面のホーム画面の検索画面から
Dev Hub
を検索 - Dev Hub を有効化を有効化に変更(デフォルトは無効化になっている)
一度有効化したら元に戻せないので注意
Salesforce組織との接続
Salesforce コマンドラインインターフェースをインストール
リンク先からインストールして実行
Salesforce組織との接続・別名設定
sfdx auth:web:login -a <alias>
接続した組織を起動
sfdx force:org:open -u <alias>
CumulusCIのインストール
HomeBrewをインストールしたあと
以下2インストールを実行
brew install python3
brew tap SFDO-Tooling/homebrew-sfdo && brew install cumulusci
インストール確認
cci
コマンドを実行してエラーが出ないことを確認する
CCIコマンド一覧
サービスとの連携
cci service connect <service_type> <service_name>
GitHubとの連携
cci service connect github github.com
DevHubとの接続
cci service connect devhub --project
- ユーザ名
Salesforce組織との接続・別名設定で指定した別名を指定
接続可能なサービス一覧取得
cci service list
Projectの初期化
cci project init
- Package Name (パッケージ名)
今回の作成対象とするパッケージ名を指定する - We’re not extending another project (別のプロジェクトの拡張ではない)
- 初回構築の場合は
n
- すでに構築済のパッケージのカスタマイズの場合は
y
- 初回構築の場合は
参照プロジェクトの設定
必要に応じて参照(拡張対象)プロジェクトを設定する
project:
dependencies:
- github: '<拡張対象のパッケージのGitHubUrl>'
以下例
project:
dependencies:
- github: 'https://github.com/GitHubUsername/XXXX'
スクラッチ組織の作成/接続(起動)
作成
現状ローカルで設定している内容で作成する
cci flow run <dev_org or qa_org> --org <作成するスクラッチ組織名称>
接続(起動)
cci org browser <スクラッチ組織名称>
<スクラッチ組織名称>
には作成で指定して作成したスクラッチ組織名称を指定
起動時にデータも入れるための方法
cumulusci.yml
の最終行に以下行を追加する
(load_dataset
のタスクを追加)
flows:
config_dev:
steps:
3:
task: load_dataset
config_qa:
steps:
3:
task: load_dataset
スクラッチ組織に入れた変更内容の取得/ローカル反映
メタデータの取得/反映
変更内容のローカル取得
cci task run list_changes --org <スクラッチ組織名称>
プロファイルを除外する場合は
cci task run list_changes --org <スクラッチ組織名称> -o exclude "Profile:"
変更内容のローカル反映
cci task run retrieve_changes --org <スクラッチ組織名称>"
プロファイルを除外する場合は変更内容のローカル取得と同様
データセットの取得/反映
データマッピングの取得
cci task run generate_dataset_mapping --org <スクラッチ組織名称>
データセットの取得
スクラッチ環境で作成下データの取得
cci task run extract_dataset --org <スクラッチ組織名称>
datasets/sample.sql
に内容を出力する
管理パッケージの作成
準備
パッケージ化組織の準備
-
Developer Edition
を作成 - パッケージマネージャにてパッケージを作成
- パッケージ名
cumulusci.yml
の中に記載されているパッケージ名を指定する
以下参照
project: package: name: <パッケージ名>
- パッケージ名
- 名前空間プレフィックス
パッケージ名前空間の設定
cumulusci.yml
の中にnamespace
の項目を追記する(追加場所は下記参照)
以下参照
project:
package:
name: <パッケージ名>
namespace: <対象名前空間>
パッケージ組織への接続
cci org connect packaging
パッケージ組織へのリリース
cci flow run ci_master --org packaging
パッケージ組織の起動
下記コマンドで組織を起動して、パッケージ配下にパッケージの内容が反映されていることを確認できる
cci org browser packaging
ベータバージョンのテスト/削除
テスト
cci flow run ci_beta --org beta
削除
cci org scratch_delete beta
最終版リリース
cci flow run release_production --org packaging
パッケージのインストール
Sandbox環境
- Sandboxに接続
cci org connect sandbox --sandbox
- インストール
cci flow run install_prod --org sandbox
本番環境
- 本番環境に接続
cci org connect production
- リリース
cci flow run install_prod --org production
参考文献