パッケージ化組織の作成

学習の目的

  • 管理パッケージに必要な要素を説明する。
  • パッケージ化組織を作成する。
  • CumulusCI をパッケージ化組織に接続する。

組織を作成する

重要: Trailhead Playground をパッケージ化組織として使用しないでください。この単元では、パッケージ化に使用する開発者組織にサインアップします。

パッケージ化組織は、管理パッケージ名前空間を使用して設定された Developer Edition 組織です。パッケージの新しいバージョンはパッケージ化組織で作成されます。各管理パッケージには、パッケージ化組織が 1 つだけあります。

最初のステップは、新しい Developer Edition 組織の作成です。Developer Edition フォームに入力して組織を作成してください。

メモ

メモ

Trailhead Playground をパッケージ化組織として使用せずに、必ず Developer Edition 組織を作成してください。その理由は、次のように組織の目的が異なるからです。Developer Edition (パッケージ化組織) から新しいパッケージを公開します。後からそれを Trailhead Playground にインストールします。

組織が作成されたら、確認のメールをクリックし、ユーザのパスワードを設定してください。

パッケージ化組織を設定する

CumulusCI を使用して Food Bank 管理パッケージをリリースする前に、Tasha はパッケージを作成し、そのパッケージ用の名前空間を申請する必要があります。管理パッケージ名前空間はグローバルに一意になるため、パッケージのコンポーンネント名が他のカスタマイズや別のパッケージと競合しないようにしてください。

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

パッケージ化組織で、新しいパッケージを作成します。

  1. ギアアイコン をクリックし、[設定] に移動しします。
  2. [クイック検索] を使用して「パッケージマネージャ」を検索します。
  3. [パッケージマネージャ][パッケージ] セクションで [新規] ボタンをクリックして、新しいパッケージを作成します。
  4. フォームに次の情報を入力します。
    1. パッケージ名: Food-Bank
      注意: CumulusCI でコンポーネントが正しいパッケージに追加されるには、パッケージ名が cumulusci.yml ファイルの名前と同じであることが重要です。これは、project の下の packagename で確認できます。CumulusCI でコミュニティプロジェクトを開始するときに、この名前を Food-Bank に設定します。
    2. 言語: 言語を選択
    3. カスタムリンクの設定: --なし-- のまま
    4. Apex エラーを通知: 空白のまま
    5. 説明: 新しいパッケージに関する情報を追加
  5. [保存] をクリックします。

次に、管理パッケージに名前空間を割り当てます。 

  1. [設定] の [パッケージマネージャ] ページの [開発者設定] パネルで、[編集] をクリックします。
  2. [続行] をクリックします。
  3. 名前空間プレフィックスを選択します。次の重要な留意事項を確認してください。
    • 名前空間は Salesforce エコシステム全体を通して一度しか使用できません。このプロジェクトでは、実際のプロジェクトには使用されないだろう長い意味のない名前を選んでください。
    • 名前空間プレフィックスには 15 文字までの英数字を使用できます。申請するプレフィックスを入力し、[使用可能か調べる] ボタンをクリックして使用できるかどうかを確認してください。
    • 後で参照するためにプレフィックスをメモしておいてください。
  4. 有効なプレフィックスを取得したら、[管理するパッケージ] ドロップダウンでパッケージを選択します。
  5. [選択内容の確認] をクリックし、[保存] をクリックします。

このパッケージをパッケージ化組織にリリースするには、CumulusCI にパッケージの名前と名前空間を指定する必要があります。これを設定する手順は次のとおりです。

  1. GitHub Desktop で [Repository (リポジトリ)] → [Open in Visual Studio Code (Visual Studio Code で開く)] を選択して、VS Code でリポジトリを開きます。
  2. サイドバーで cumulusci.yml ファイルをクリックして開きます。
  3. ファイルの次の部分を見つけます。
project:
    name: Food-Bank
    package:
         name: Food-Bank
  1. パッケージ名前空間を指定する行を追加します。
project:
    name: Food-Bank
    package:
         name: Food-Bank
         namespace: myawesomenamespace
メモ

メモ

myawesomenamespace の部分に、先ほど割り当てた実際のパッケージ名前空間を入力してください。

パッケージの name が、先ほどの [パッケージ名] に入力した名前と同じであることを再度確認してください。Command+s (macOS) または Ctrl+s (Windows) を押して変更を cumulusci.yml ファイルに保存します。

変更が GitHub にプッシュされることを確認しましょう。これは次の単元のハンズオン Challenge で必要です。 

GitHub Desktop でリポジトリを開き、次の手順を実行します。

  1. 新しい機能ブランチを作成して変更を保存します。GitHub Desktop で [Current Branch (現在のブランチ)] → [New Branch (新規ブランチ)] を選択し、ブランチに feature/set-namespace と名前を付けます。新しいブランチに変更が適用されるように選択します。
  2. GitHub Desktop の feature/set-namespace 機能ブランチで、Set package namespace (パッケージ名前空間の設定) メッセージにコミットします。
  3. コミットが完了した後に情報ペインで [Publish branch (ブランチを公開)] をクリックして機能ブランチを GitHub に公開します。
  4. 公開後に情報ペインが更新されたら、[Create Pull Request (プル要求を作成)] をクリックしてこの変更の新しいプル要求を作成します。
  5. GitHub Desktop が自動的にブラウザで [Open a pull request (プル要求を開く)] 画面を表示します。
  6. [Changes (変更)] ヘッダーの下に、変更の内容を説明する行を追加します。
  7. [Create Pull Request (プル要求を作成)] をクリックします。
  8. 次の画面で [Merge pull request (プル要求をマージ)] をクリックします。[Confirm merge (マージを確認)] をクリックします。
  9. [Delete branch (ブランチを削除)] をクリックして、マージしたブランチを削除します。

組織を CumulusCI に接続する

CumulusCI は、既存の Salesforce 組織とプロジェクトの紐付けをサポートしています。このプロセスを開始する手順は次のとおりです。

  1. GitHub Desktop で [Repository (リポジトリ)] → [Open in Visual Studio Code (Visual Studio Code で開く)] を選択して、VS Code でリポジトリを開きます。
  2. ターミナルウィンドウで、cci org connect packaging と入力します。

このコマンドは Salesforce ログインページをブラウザで開きます。パッケージ化組織用に作成した組織のユーザ名とパスワードを使用してログインします。ログインしたら、組織へのアクセスを許可するように求められます。[許可] をクリックすると、ブラウザに「Congratulations! Your authentication succeeded.」 (おめでとうございます! 認証が成功しました。) と表示されます。

VS Code ターミナルに戻り cci org list コマンドを入力して組織が接続されていることを確認してください。

次のようなテーブルが表示されます。

┌Connected Orgs───────┬───────────────────────┬──────────┐
│ Name     │ Default  │ Username              │Expires   │
├──────────┼──────────┼───────────────────────┼──────────┤
│packaging │          │ tasha@foodbankdev.org │Persistent│
└──────────┴──────────┴───────────────────────┴──────────┘

また、ターミナルで cci org browser packaging コマンドを入力すれば、いつでもパッケージ化組織をブラウザで直接開くことができます。

リソース