ブログ

Salesforce CLI(コマンドラインインターフェース)の活用方法

#Salesforce #CLI #コマンドラインインターフェース

PCを操作するときに画面やボタンなどのグラフィックユーザインターフェース(GUI)に馴染みのある人は多いと思いますが、コマンドラインインターフェースに馴染みがあるという人は少ないのではないでしょうか。
コマンドラインインターフェース(CLI)は基本的にテキストベースであり、複雑なコマンドも多いため難解なイメージがあるかもしれませんが、コマンドラインインターフェースを活用することで、Salesforce開発の幅がグッと広がるため、ぜひCLIをマスターして、Salesforce開発に役立てていきましょう。

GUIとCLI

グラフィックユーザインターフェース(GUI)は画面やボタン、メニューなどで構成されるインターフェースです。通常のSalesforceの画面からデータを更新する場合など、日常的なタスクにおいてユーザは基本的にグラフィックユーザインターフェースを多用しています。

対してコマンドラインインターフェース(CLI)はテキストベースのインターフェースであり、ボタンや画面の代わりにコマンドを入力することで、コンピュータやソフトウェアプログラムと直接的にやり取りをすることができます。

コマンドラインインターフェースを利用することで、複雑な処理を素早く実行することができるようになります。プラグインやパッケージからカスタマイズすることが可能であるため、柔軟に開発者ワークスペースをカスタマイズすることができます。

つまり、ざっくりと説明すると、普段私たちが日常的に使用している画面上から操作のことをGUI、エンジニアの方がよく見ているような英語のコードがずらっと並んでいる画面から、コマンドを使用して複雑な処理を行うことをCLIと言います。

Salesforce CLI活用のメリット


Salesforce CLIを活用して具体的にどんなメリットがあるのか、大きく次の3点を紹介します。

バージョン管理ができるようになる

Salesforce CLIを使用せずに画面上から開発を行う場合、誰がいつどんな変更を行ったのか管理するのは至難の業です。気付いたら環境が勝手に他のメンバーによって更新されていたりと予期せぬ変更があってもそれを防ぐことはできません。

Salesforce CLIを使用することで、Gitと接続することができ、チームで開発を進めている場合でも、誰がいつどんな変更を行ったか簡単に確認をすることができるようになります。

また、新しい機能をデプロイしたらエラーが起きてしまったため前のバージョンに戻したい、という場合でもGit上で全ての変更履歴が管理されているため以前のバージョンに復元することも簡単にできます。

リリース作業が容易になる

Salesforce開発をする上で避けては通れないのが、開発したコンポーネント(メタデータ)の移送=リリース作業です。Salesforceには実際に使用する本番環境の他にSadboxという機能が限定的な簡易環境があり、開発はDeveloper Sandbox環境で行い、結合テストや受入テストをParitalやFullといったよりデータを入れることのできるSandbox環境で行います。

基本的な開発の流れとしては以下の通りです。

  • Developer環境で修正・開発を行い、単体テストを実施する
  • Partial, Full環境に修正・開発内容をリリースし、結合テスト・ユーザ受入テストを実施する
  • 本番環境で実装する

もちろん、大型の組織になれば上記よりも細かい構成になることもありますし、hotfixなどで簡略化することもあり得ます。

いずれにせよ、Sandbox同士で開発したコンポーネントをリリースしたり、リリース移送したりと、Salesforce開発とリリース作業は切っても切れない関係にあるといっても過言ではないでしょう。

Salesforceには変更セットという機能があり、画面上からでも対象のコンポーネントを指定してリリースをすることも可能ですが、大量のコンポーネントの中から必要なものだけを選択していくことが必要で選ぶだけでも一苦労です注意が必要です。

一方、Salesforce CLIを利用した場合では、Sandboxの作成前に本番環境でソース追跡という機能を有効化することで、コマンド一つで変更したコンポーネントすべてを抽出することができます。
加えて、種類にもよりますが、ワイルドカードを使って全てを選択したり、オブジェクトを選択するだけで項目をすべて選択したりすることができ、より簡単に対象を選択することが可能です。

VS Code:Salesforce CLIを簡単に利用するためのテキストエディタ


CLIを使うためにはコマンドラインツールが必要となります。その名の通りコマンドを入力してプログラムに処理を送ることのできるツールです。デフォルトではMac OSでは「ターミナル」、Windowsでは「コマンドプロンプト」が標準で組み込まれているコマンドラインツールとなります。

しかし、やはりコマンドラインを使うというのは非エンジニアにとっては抵抗感が強いですし、イメージがしにくいものです。そこで、Salesforce開発においてよく使用されているツール、Visual Studio Code(VS Code)というテキストエディタをご紹介します。このツールは最初からパソコンに入っている訳ではないので、使用する際はOSにインストールする必要があります。

なぜVS CodeがSalesforce開発において利用頻度が高いかというと、VS Codeは無料で誰でも使うことができ、かつ、Salesforceの開発に特化したSalesforce Extension Packという拡張機能が用意されているため、インストールすることでより容易にSalesforce開発を行うことができるようになっているためです。

上記拡張機能を用いることで、すべてをコマンド操作で操作する必要がなくなり、大半の作業をGUIベースに落とすことができますし、コマンドラインも統合されているために、一つで開発からリリースまで完結させることができます。


Salesforce Extension Packをインストールすることで、作業時に例えば次のような新機能を使うことができるようになります。

  • オブジェクト情報の補完機能
  • Salesforce組織のオブジェクト情報を読み込み、入力予測など補完してくれる機能

  • Apex/Visualforce/Lightningコンポーネント用言語サービス
  • Apexなどで使用されるSalesforce独自のクラス、変数、予約語などを一目で把握できるように色分けし視覚的に見やすくしてくれる機能

  • 組織の接続機能
  • Salesforce組織を接続することで接続先の環境の資材(メタデータ)の取得やデプロイが可能となる機能

拡張機能はVS Codeの拡張機能検索機能より「Salesforce Extension Pack」を検索してインストールを行うだけで使用できるようになるため、VS CodeからSalesforce開発を行う場合は拡張機能のインストールをおすすめします。

まとめ

今回の記事では、Salesforce CLIの活用方法について解説しました。テキストベースで難しいというイメージを持つ人が多いかもしれませんが、Salesforce CLIを活用することで、開発をより効率的かつ柔軟に行うことができるようになります。
コマンドもよく使うものはある程度決まっていることが多く、また、VS Codeを導入すれば大半がGUI操作でも行えますので、慣れてしまえばそこまで難解なものではありません。ぜひSalesforce CLIを使いこなしてSalesforce開発の効率化を目指していきましょう。

<Salesforce>
弊社ではSalesforceをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら

また、弊社ではSalesforceの導入支援のサポートも行っています。ぜひお気軽にお問い合わせください。
>>Salesforceについての詳細はこちら
>>Salesforceの導入支援実績はこちらからご覧いただけます!

医療業界に特化した営業支援、顧客管理(SFA/CRM)のコンサルティングも提供しております。こちらもぜひお気軽にお問い合わせください。
>>顧客管理(SFA/CRM)のコンサルティングの詳細はこちら

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ