Salesforce的アプリケーションの开発者の皆さんに朗报ですCircleCIでのSalesforce的アプリの构筑,テスト,デプロイが简単になりました.CircleCI用のSalesforce的インテグレーションであるSalesforce SFDX CLI Orbを使用して,自動化された開発パイプラインを作成できます。

今回は,自动化された开発パイプラインをCircleCIで迅速に使用できるようにする方法を绍介します.Salesforceが提供しているebikes-lwcサンプルアプリケーションと,CircleCIの新しいSalesforce SFDX CLI orbを使用していきます.Salesforceアプリケーションの开発が初めての方は,こちらのリポジトリから学习を始められることをお勧めします。

既に独自のSalesforceアプリケーションを構築している皆さんにも役に立つ情報です。

CIパイプラインとは

初めてCircleCIを利用する皆さんには,まず継続的インテグレーションのパイプラインを使用して開発ワークフローを改善する方法についての概要をお読みになることをお勧めします。

简単に言えば,CircleCIはコードをすばやく安全に配信するためのプラットフォームです.CircleCIパイプラインでは,アプリケーションに新机能や変更を追加し,これらをテストしたうえでデプロイします。テストに失败した场合は,CircleCIから通知が届きます。信頼性の高いコードが完成したら,手动または自动でユーザーにデプロイすることができます。

セットアップ

パイプラインの作成に取り挂かる前に,いくつかのセットアップ作业が必要です。

  1. 最初の作业は简単です。お使いのアカウントで开发中心を有效化します。こうすることで,スクラッチ组织を作成し,管理することができます。スクラッチ组织とは,アプリケーションのテストに必要となる,使い舍ての安全な环境のことです。

  2. 次に,独自の自己署名SSL证明书と非公开键を作成します.Salesforce CLIで认证する场合,通常はブラウザーウィンドウを起动してログインしますが,ユーザーの介入が不要なCircleCIのCI环境では,他の认证方法が必要になります。

    CircleCIでは,JWTベースの認証を採用しています。SalesforceにCircleCIが発行した証明書を持たせ,CircleCI側の非公開鍵で認証を行います。証明書と鍵を作成する方法については,こちらをご覧ください。

  3. パイプラインを開始する前に,接続アプリを作成する必要があります。接続アプリを通じてクラウド環境内のSalesforceインスタンスに接続し,2で作成した証明書を使用しjwtベ是这样てースの認証を行います。

    接続アプリの作成方法については,Salesforce的が公开しているこちらの手顺をご覧ください。この手顺ではCircleCIのserver.crt这ファイルがSalesforce的にアップロードされ,その后すぐにCircleCIにサーバーキーが追加されます。作成したアプリから入手したコンシューマーキーの値を书き留めておいてください。

ここまで来たら,次はプロジェクトの準備です。既にプロジェクトが作成されていれば,それを使用します。前述のebikes-lwcのサンプルを复制してもかまいません。最终的に,プロジェクトはGitHub的や到位桶のようなVCSプロバイダーでホスティングされます。

GitHub的や到位桶でプロジェクトがホストティングされるようになったら,パイプラインの作成を开始できます。

プロジェクトをCircleCIに追加する

プロジェクトはまだ完成していません。まだCircleCIの设定ファイルを追加する必要があります。これは,始めに行うべき准备作业の最终段阶です。

CircleCIでVCS认证を行ってログインします。ダッシュボードの[加入项目(プロジェクトの追加)]をクリックして,现在ログインしているアカウントのプロジェクトのリストを表示します.Salesforceアプリケーションの[建立项目(プロジェクトのセットアップ)]をクリックします。

次のページの设定はすべて既定のままにしておきましょう。后でもう一度このページに戻ってきます。[动工(ビルドの开始)]をクリックします。

すると,ジョブの失败を示すエラーページが表示されますが,心配は要りません。まだ设定ファイルの追加も,环境変数のセットアップも終えていないのですから,想定どおりの結果です。

2019 - 12 - 11 - salesforce - 3. - png

環境変数を追加する

新しく追加したプロジェクトに,必要な环境変数を追加しましょう。画面左侧のナビゲーションバーに,CircleCIに追加したプロジェクトのリストが表示されます.Salesforceアプリケーションの横にある歯车のアイコンをクリックして,设定ページを开きます。

[建立设置(ビルド设定)]の[环境变量(环境変数)]をクリックします。

ここで,認証のために2つの情報を追加します。

环境変数
SFDX_JWT_KEY この値には,非公开のserver.keyファイルのBase64编码エンコードされた値が含まれます。
SFDX_CONSUMER_KEY Salesforceの接続アプリのコンシューマーキーです。


コンシューマーキーは,前のステップで生成したものを使用します。新しい环境変数SFDX_CONSUMER_KEYとSalesforce的の値を追加するだけで完了です。

Base64エンコードされたJWTキーを取得するには,前のステップで作成した自己署名証明書ファイルが格納されているディレクトリに移動し,BASE64 server.keyのコマンドを入力します.Base64エンコードされた値を取得したら,コピーしてプロジェクトの环境変数SFDX_JWT_KEYの下に追加します。

2019年12月11日,销售人员,6.png

设定ファイルを追加する

必要なセットアップはこれで完了です。これまでの手順をまとめます。

  • Salesforce的アカウントで开发中心を有效にする
  • 接続アプリを作成する
  • 接続アプリでJWT认证を有效にする
  • CircleCIにプロジェクトを追加する
  • 必要な环境変数を追加する

ここまでの手順を完了すると,CircleCIでSalesforceによる認証が可能になり,設定ファイル内でSFDX CLIを利用できるようになります。

プロジェクトリポジトリのメインディレクトリで,トップレベルの.circleciフォルダーを追加し,このフォルダーの下にconfig.ymlファイルを作成します。CircleCIは、リポジトリに更新がプッシュされると自動的にこのファイルを確認します。このファイルは言わば、その更新に対してどのようなアクションを実行する必要があるかを示すブループリントのようなものです。CircleCI の設定ファイルにまだ馴染みがない方は、CircleCI の入門ガイドをぜひ確認してください。

config.ymlファイルを作成したら,Salesforce SFDX CLI orbに含まれる使用例の部分に上书きコピーして,実际に使ってみましょう。

版本:2.1球体:sfdx: circleci/salesforce-sfdx@x.y工作:install_authenticate:遗嘱执行人:sfdx /违约steps: - checkout - sfdx/install - sfdx/auth: defaultusername: user@email.com - run: name: Run your SFDX commands here command: | echo "You now have access to the sfdx cli and may execute commands against it. https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference.htm" workflows: basic-test: jobs: - install_authenticate

设定ファイルの内容

設定ファイルの内容を詳しく見ていきましょう。

版本:2.1球体:sfdx: circleci/salesforce-sfdx@x.y

宝珠を使用するには,バージョン2.1のCircleCI设定ファイルが必要です。现在,设定ファイルのバージョンはデフォルトで2.1に设定されていますが,将来の更新の可能性を踏まえ,明示的にバージョンを指定することをお勧めします。

宝珠スタンザで,奥布パッケージを定义してインポートします。この例では,必要なのはcircleci /销售人员-sfdx宝珠だけです。これをsfdxとしてインポートすることで,設定ファイルのどこでも参照できるようになります。

インポートステートメントの末尾にバージョンタグ@ xy格式が记述されている点にも注意してください。これはプレースホルダーです.Orbレジストリページで最新のドキュメントを确认し,最新バージョンの球をインポートしてください。

orbにはセマンティックバージョニングスキームが採用されています。1.0.0のように完全なバージョン番号を指定してインポートすることもできますが,できるだけマイナーバージョンまでの指定にとどめることをお勧めします。そうすることで,1.0->1.0.1->1.0.2のように,パッチリリースが自動的に選択されます。

ジョブ

Orbのインポートステートメントの下には,工作スタンザが记述されており,install_authenticateというジョブが1つ指定されています。

工作:install_authenticate:

これは,設定ファイル内に手動で定義するジョブです。Orbに事前定義済みのジョブが付属している場合は,それを使ってもかまいません。

ジョブの名前はもちろん自由に指定できます。ワークフローによっては复数のジョブを指定することも少なくありません。このワークフローでは,単一のジョブで,CLIツールをインストールし,认证する方法を示します。

执行者

CircleCIでは,Windows, Mac, Linux,码头工人の多岐にわたる実行环境を利用できます。ジョブを定義するとき、コマンドが実行されますが、コマンドを実行する実行環境を選択する必要があります。

宝珠では,パラメーター化された执行人の构成を定义することも可能できます.circleci /销售人员-sfdx球でも次のように记述されています。デフォルトの执行人を使用すると,コンパクトかつ高速で效率的な的NodeJS泊坞环境が自动的に选択されます。この环境は,Salesforce的アプリケーションタスクに最适です。

遗嘱执行人:sfdx /违约

ステップ

ステップは,上记の手顺で定义した环境内で顺番に実行される実行可能コマンドの集合です。

- checkout - sfdx/安装- sfdx/认证:defaultusername: user@email.com
  • 付款:CircleCIネイティブの組み込みコマンドです。リポジトリからソースコードをフェッチします。インテグレーションには必要ありませんが、通常、あらゆるプロジェクトの最初のステップになります。
  • sfdx /安装:circleci / salesforce-sfdx Orbで提供されているOrbコマンドです。最新のCLIが収められたスタンドアロン型の焦油をインストールします。パラメーターを追加して,NPMから特定のバージョンをインストールすることもできます。详しくは,球のドキュメントをご覧ください。
  • sfdx / AUTH:Circleci /销售人员-sfdx球で提供されている球コマンドです.JWT认证を利用して,接続アプリで认证を行います。环境変数SFDX_JWT_KEYSFDX_CONSUMER_KEYを忘れずに設定してください。また,defaultusernameもこの例のとおりに設定してください。

これで,Orb内の他のコマンドを利用したり,追加コマンドを指定してsfdxと直接やり取りしたりできるようになります。

-运行:名称:检查认证列表命令:sfdx force:认证:列表

ワークフロー

ワークフローは,どのジョブをいつ実行するかを指定できる,CircleCIの机能です。このワークフローにはジョブが1つしかありません。これをコミットごとに実行するので,フィルターは指定しないことにします。基本的测试という名前のワークフローを作成し,install_authenticateというジョブを指定します。

工作流程:基本测试:工作: -  install_authenticate

Salesforce SFDX CLI Orbでできること

Salesforce的开発者の皆さんからのご意见,ご感想をお待ちしています.Orbをどのように活用しているか,微博で@CircleCIJapanにメンションしてぜひお闻かせください。