インストール後のカスタマイズの追加

メモ

メモ

この単元の手順を完了するまでの予想時間は推定にすぎません。システム設定とネットワーク速度に応じて、実際のインストール時間の方が長くなることがあります。

学習の目的

  • CumulusCI を使用してカスタマイズを作成して取得する方法を説明する。
  • カスタマイズをテストし、他のユーザに公開する方法を説明する。

Maddie は、サンデー構築の最初の 2 つのステップを完了しました。次はお気に入りのトッピングを追加します。農産物が地元産かどうかを追跡するカスタム項目を Delivery Item (配送品目) オブジェクトに含めます。これは Salesforce スクラッチ組織で直接行います。そのカスタマイズを CumulusCI で取得、テストした後に、本番組織にプッシュします。

カスタム項目を作成する

Maddie と一緒に手順を実行しましょう。

最初のステップは、カスタマイズの作成です。これは、Salesforce のコード不要のクリック操作インターフェースを使用して宣言的に行います。 

  1. 前の単元「実装プロジェクトの作成」で設定した dev スクラッチ組織をまだ使用できる場合は、それを開いてステップ 4 に進みます。
  2. このスクラッチ組織を使用できない場合は、GitHub Desktop から始めます。[Current Repository (現在のリポジトリ)]Food-Bank-Implementation に設定されていることを確認し、[Repository (リポジトリ)] → [Open in Visual Studio Code (Visual Studio Code で開く)] を選択してこのリポジトリを開きます。
  3. VS Code ターミナルで cci org browser dev コマンドを入力して、スクラッチ組織をブラウザで開きます。
  4. [設定] を開きます。
  5. [オブジェクトマネージャ] に移動します。
  6. Food Bank 管理パッケージの [Delivery Item (配送品目)] オブジェクトをクリックします。
  7. サイドバーの [項目とリレーション] をクリックします。
  8. [新規] ボタンをクリックします。
  9. [チェックボックス] を選択して [次へ] ボタンをクリックします。
  10. 項目の詳細を入力します。
    項目の表示ラベル:Is Local Produce
    項目名:Is_Local_Produce
  11. [次へ] ボタンをクリックしてから、もう一度 [次へ] をクリックして、デフォルトのプロファイルを受け入れます。
  12. Delivery Item (配送品目) ページレイアウトに項目を追加します。
  13. [保存] をクリックします。

項目をパッケージ化されていないメタデータとして取得する

CumulusCI を使用して、スクラッチ組織で行った変更を取得します。

  1. GitHub Desktop で、[Current Repository (現在のリポジトリ)]Food-Bank-Implementation に設定されていることを確認します。
  2. [Repository (リポジトリ)] → [Open in Visual Studio Code (Visual Studio Code で開く)] を選択して、このリポジトリを開きます。
  3. 変更の内容を確認し、取得したいカスタマイズがすべて含まれていることを確認します。VS Code ターミナルウィンドウで、cci task run list_changes --org dev コマンドを入力します。
  4. ターミナルウィンドウをスクロールし、取得した変更を確認します。新しい項目をページレイアウトに追加したので、変更には新しい項目と 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 スクラッチ組織を作成します。一緒に手順を実行しましょう。

  1. VS Code のターミナルウィンドウで、cci flow run qa_org --org qa コマンドを入力して QA 組織にスクラッチ組織を作成します。
  2. スクラッチ組織が作成されたら (10 ~ 15 分かかります)、cci org browser qa コマンドを入力してブラウザでスクラッチ組織を開きます。
  3. スクラッチ組織を調べると、Delivery Item (配送品目) オブジェクトに新しい [Is Local Produce (地元農産品)] 項目があるはずです。

変更をコミットしてマージする

自分のコンピュータで追加の設定をテストしたので、次は GitHub リポジトリにカスタマイズを追加します。まず機能ブランチを作成し、そこに変更を追加します。

  1. GitHub Desktop でリポジトリを開きます。dev スクラッチ組織から取得された、最後のモジュールでの変更が表示されます。
  2. [Current Branch: main (現在のブランチ: メイン)] というタブを選択します。
  3. [New Branch (新規ブランチ)] をクリックして、メインから新しいブランチを作成します。
  4. ブランチ名に feature/local と入力し、[Create Branch (ブランチを作成)] をクリックします。
  5. [Bring my changes to feature/local (変更を feature/local に取り込む)] を選択します。これにより、すでに加えた変更で新しいブランチを開始するように GitHub Desktop に指示します。
  6. [Switch Branch (ブランチを切り替え)] をクリックして、新しい feature/local ブランチを開いていることを確認します。

変更と新しい機能ブランチを GitHub で公開します。

  1. コミットメッセージに変更の説明を入力します。例: Created new checkbox on the Delivery Item object to track local produce. (地元の農産物を追跡するために Delivery Item (配送品目) オブジェクトに新しいチェックボックスを作成。)
  2. [Commit to feature/local (feature/local にコミット)] をクリックします。
  3. コミットが完了した後に情報ペインで [Publish branch (ブランチを公開)] をクリックして機能ブランチを GitHub に公開します。
  4. ブランチが公開されたら、[Branch (ブランチ)] > [Create Pull Request (プル要求を作成)] を選択し、この変更の新しいプル要求を作成します。
  5. GitHub Desktop が自動的にブラウザで [Open a pull request (プル要求を開く)] 画面を表示します。
  6. [Changes (変更)] ヘッダーの下に、変更の内容を説明する行を追加します。
  7. [Create Pull Request (プル要求を作成)] をクリックします。
  8. 次の画面で [Merge pull request (プル要求をマージ)] をクリックします。
  9. [Delete branch (ブランチを削除)] をクリックして、マージしたブランチを削除します。
  10. GitHub Desktop に戻り、[Branch (ブランチ)] → [Delete (削除)] を選択し、feature/local ブランチを削除することを確認します。
  11. 自動的にメインブランチに戻ります。[Repository (リポジトリ) → Pull (プル)] を選択し、GitHub の feature/local からマージした変更を取り込みます。

最後に、GitHub メニューバーで [Repository (リポジトリ)] → [Open in Visual Studio Code (Visual Studio Code で開く)] を選択して VS Code のターミナルウィンドウを開き、cci org scratch_delete qa コマンドを入力してスクラッチ組織を削除します。

リソース