インストール後のカスタマイズの追加
学習の目的
- CumulusCI を使用してカスタマイズを作成して取得する方法を説明する。
- カスタマイズをテストし、他のユーザーに公開する方法を説明する。
Maddie は、サンデー構築の最初の 2 つのステップを完了しました。次はお気に入りのトッピングを追加します。農産物が地元産かどうかを追跡するカスタム項目を Delivery Item (配送品目) オブジェクトに含めます。これは Salesforce スクラッチ組織で直接行います。そのカスタマイズを CumulusCI で取得、テストした後に、本番組織にプッシュします。
カスタム項目を作成する
Maddie と一緒に手順を実行しましょう。
最初のステップは、カスタマイズの作成です。これは、Salesforce のコード不要のクリック操作インターフェースを使用して宣言的に行います。
- 前の単元「実装プロジェクトの作成」で設定した dev スクラッチ組織をまだ使用できる場合は、それを開いてステップ 4 に進みます。
- このスクラッチ組織を使用できない場合は、GitHub Desktop から始めます。[Current Repository (現在のリポジトリ)] が
Food-Bank-Implementation
に設定されていることを確認し、[Repository (リポジトリ)] → [Open in Visual Studio Code (Visual Studio Code で開く)] を選択してこのリポジトリを開きます。 - VS Code ターミナルで
cci org browser dev
コマンドを入力して、スクラッチ組織をブラウザーで開きます。 - [設定] を開きます。
- [オブジェクトマネージャー] に移動します。
- Food Bank 管理パッケージの [Delivery Item (配送品目)] オブジェクトをクリックします。
- サイドバーの [項目とリレーション] をクリックします。
- [新規] ボタンをクリックします。
- [チェックボックス] を選択して [次へ] ボタンをクリックします。
- 項目の詳細を入力します。
Field Label (項目の表示ラベル):Is Local Produce
(地元農産品)、Field Name (項目名):Is_Local_Produce
(デフォルトを受け入れます) - [次へ] ボタンをクリックしてから、もう一度 [次へ] をクリックして、デフォルトのプロファイルを受け入れます。
- Delivery Item (配送品目) ページレイアウトに項目を追加します。
- [保存] をクリックします。
項目をパッケージ化されていないメタデータとして取得する
CumulusCI を使用して、スクラッチ組織で行った変更を取得します。
- GitHub Desktop で、[Current Repository (現在のリポジトリ)] が
Food-Bank-Implementation
に設定されていることを確認します。 - [Repository (リポジトリ)] → [Open in Visual Studio Code (Visual Studio Code で開く)] を選択して、このリポジトリを開きます。
- 変更の内容を確認し、取得したいカスタマイズがすべて含まれていることを確認します。VS Code ターミナルウィンドウで、
cci task run list_changes --org dev
コマンドを入力します。 - ターミナルウィンドウをスクロールし、取得した変更を確認します。新しい項目をページレイアウトに追加したので、変更には新しい項目と Delivery Item (配送品目) ページレイアウトが含まれているはずです。問題がなければ、VS Code ターミナルで
cci task run retrieve_changes --org dev -o exclude "Profile:"
コマンドを入力して変更を取得します。
完了したら、GitHub Desktop に移動して変更を表示します。
変更はバージョン管理システム (この場合は GitHub Desktop) 内に安全に保存されているので、使用した dev
スクラッチ組織を安全に削除できます。これは、VS Code のターミナルウィンドウで cci org scratch_delete dev
コマンドを入力して行います。
変更をテストする
リポジトリのメインブランチ (この場合は Hunger Northeast の Salesforce 設定の情報源) に変更をコミットする前に、作業内容をテストしてすべてのユーザーが問題なく使用できることを確認することが重要です。新しく取得したメタデータを新しい組織に正常にリリースできることをテストするために、Maddie は新しい QA スクラッチ組織を作成します。一緒に手順を実行しましょう。
- VS Code のターミナルウィンドウで、
cci flow run qa_org --org qa
コマンドを入力して QA 組織にスクラッチ組織を作成します。 - スクラッチ組織が作成されたら (10 ~ 15 分かかります)、
cci org browser qa
コマンドを入力してブラウザーでスクラッチ組織を開きます。 - スクラッチ組織を調べると、Delivery Item (配送品目) オブジェクトに新しい [Is Local Produce (地元農産品)] 項目があるはずです。
変更をコミットしてマージする
自分のコンピューターで追加の設定をテストしたので、次は GitHub リポジトリにカスタマイズを追加します。まず機能ブランチを作成し、そこに変更を追加します。
- GitHub Desktop でリポジトリを開きます。
dev
スクラッチ組織から取得された、最後のモジュールでの変更が表示されます。 - [Current Branch: main (現在のブランチ: メイン)] というタブを選択します。
- [New Branch (新規ブランチ)] をクリックして、メインから新しいブランチを作成します。
- ブランチ名に
feature/local
と入力し、[Create Branch (ブランチを作成)] をクリックします。 - [Bring my changes to feature/local (変更を feature/local に取り込む)] を選択します。これにより、すでに加えた変更で新しいブランチを開始するように GitHub Desktop に指示します。
- [Switch Branch (ブランチを切り替え)] をクリックして、新しい feature/local ブランチを開いていることを確認します。
変更と新しい機能ブランチを GitHub で公開します。
- コミットメッセージに変更の説明を入力します。例:
Created new checkbox on the Delivery Item object to track local produce.
(地元の農産物を追跡するために Delivery Item (配送品目) オブジェクトに新しいチェックボックスを作成。) - [Commit to feature/local (feature/local にコミット)] をクリックします。
- コミットが完了した後に情報ペインで [Publish branch (ブランチを公開)] をクリックして機能ブランチを GitHub に公開します。
- ブランチが公開されたら、[Branch (ブランチ)] > [Create Pull Request (プルリクエストを作成)] を選択し、この変更の新しいプルリクエストを作成します。
- GitHub Desktop が自動的にブラウザーで [Open a pull request (プルリクエストを開く)] 画面を表示します。
- [Changes (変更)] ヘッダーの下に、変更の内容を説明する行を追加します。
- [Create Pull Request (プルリクエストを作成)] をクリックします。
- 次の画面で [Merge pull request (プルリクエストをマージ)] をクリックします。
- [Delete branch (ブランチを削除)] をクリックして、マージしたブランチを削除します。
- GitHub Desktop に戻り、[Branch (ブランチ)] → [Delete (削除)] を選択し、
feature/local
ブランチを削除することを確認します。 - 自動的にメインブランチに戻ります。[Repository (リポジトリ) → Pull (プル)] を選択し、GitHub の feature/local からマージした変更を取り込みます。
最後に、GitHub メニューバーで [Repository (リポジトリ)] → [Open in Visual Studio Code (Visual Studio Code で開く)] を選択して VS Code のターミナルウィンドウを開き、cci org scratch_delete qa
コマンドを入力してスクラッチ組織を削除します。
リソース