2023.09.13

Visual Studio Code + Salesforce CLIを使用したメタデータのリリース

はじめに

みなさんはSalesforceでリリースを行う場合、どのような手段で行っているでしょうか?
変更セット、Antなどさまざまな手段があるかと思います。
今回はVisual Studio Code + Salesforce CLIを使用したリリースの方法についてご紹介します。

前提条件

1. Visual Studio Codeがインストール済みであること
2. Visual Studio Codeの拡張機能「Salesforce Extension Pack」がインストール済みであること
3. Visual Studio Codeの拡張機能「Salesforce Package.xml Generator Extension for VS Code」がインストール済みであること
4. Salesforce CLIがインストール済みであること

Salesforce DX プロジェクトの作成

まずはSalesforce DX プロジェクトを作成します。
Visual Studio Codeで「ctrl」+「shift」+「p」からコマンドパレットを開き、「SFDX: マニフェストファイルを使用してプロジェクトを作成」を選択します。

プロジェクトのテンプレートは「標準」を選択し、プロジェクト名は任意の名前を付け作成します。

作成が完了すると、下記画像のようなフォルダ構造のSalesforce DX プロジェクトが作成されます。

リリース元Salesforce組織の認証

Salesforce組織の情報をVisual Studio Codeからアクセスできるようにするために認証を行います。

認証時にSalesforceのログイン画面が開きますので、ログインするユーザ名とパスワードを入力し、ログインをすると認証が完了します。

package.xmlの作成

続いてpackage.xmlを作成します。

package.xmlとは、Salesforce組織からメタデータを取得、デプロイするために利用されるXML形式のファイルになります。

先ほど作成したSalesforce DX プロジェクトの「manifest」というフォルダに「package.xml」というファイルが格納されています。

このファイルにリリースしたいコンポーネントの情報を記載していくのですが、「Salesforce Package.xml Generator Extension for VS Code」という拡張機能を使用すると簡単に作成できるので、今回はそちらを利用します。
コマンドパレットを開き、「SFDX Package.xml Generator: Choose Metadata Components」を選択すると、組織に存在するメタデータが表示されます。

リリースしたいものにチェックを入れ、「UPDATE PACKAGE XML」ボタンを押すと、チェックしたものがpackage.xmlへ記載されます。

リリース元Salesforce組織からメタデータの取得

作成したpackage.xmlをもとにメタデータを取得します。

package.xmlを右クリックし、「SFDX: マニフェストファイルのソースを組織から取得」を選択するとメタデータの取得が開始されます。

取得したメタデータはプロジェクトの「force-app\main\default」に格納されます。

リリース先Salesforce組織の認証

「リリース元Salesforce組織の認証」と同じ要領でリリース先Salesforce組織の認証を行います。

取得したメタデータのリリース

まずはリリースするメタデータの「検証」を行います。
Visual Studio Codeの「ターミナル」を選択し、以下のコマンドを実行することで検証が始まります。

検証の実行結果はSalesforceの設定の「リリース状況」から確認をすることができます。
sf project deploy validate -x manifest\package.xml -l RunLocalTests
.
コマンドの詳細ついては下記の通りになります。
  • sf project deploy validate
    検証を実行するためのコマンドになります。
  • -x 【ファイルパス】
    リリース対象のコンポーネントが記載されたpackage.xmlのファイルパスを指定します。
  • -l 【RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg】
    検証時に実行するApexテストのテストオプションを指定します。
    -RunSpecifiedTests
    「指定されたテストを実行」でApexテストを実行します。
     実行するテストクラスは -t 【Apexテストクラス名】で指定します。
    -RunLocalTests
    「ローカルテストを実行」でApexテストを実行します。
    -RunAllTestsInOrg
    「すべてのテストを実行」でApexテストを実行します。

検証が成功すると、ターミナルに「Successfully Valited the deployment (【JobID】)」というメッセージが表示されます。
JobIDについては後程使用しますので、控えておいてください。

検証が成功し、クイックリリース可能な状態になりました。
画面上からクイックリリースが可能ですが、せっかくなのでターミナルから実行してみたいと思います。

以下のコマンドを実行することでクイックリリース実行されます。
JobIDには検証成功時にターミナルに表示されたものを記載してください。
sf project deploy quick --job-id 【JobID】
.
コマンドの詳細ついては下記の通りになります。
  • sf project deploy quick
    クイックリリースを実行するためのコマンドになります。
  • --job-id 【JobID】
    クイックリリースを行う対象を指定します。
    事前にsf project deploy validateの検証が成功し、JobIDが発行されている必要があります。

クイックリリースが行われ、無事リリースをすることができました。

最後に

プロジェクトによっては開発したコンポーネントが多くあり、変更セットの作成に多くの時間をとられてしまうこともあるかと思います。

その際は、ぜひ本記事で紹介させていただいた方法を検討してみてはいかがでしょうか?

最後まで読んでいただきありがとうございました。
また、リリース管理ツール「Flosum」を利用すれば、メタデータのリリースがスムーズに行えます。
Flosumの機能については、Flosumのwebサイトをご覧ください。
https://www.terrasky.co.jp/flosum/

参考

54 件
     
  • banner
  • banner

関連する記事