Pipeline for Salesforce – Salesforceメタデータ移行負荷、移行ミスを最小限に


概要

Pipeline>はSalesforce開発者向けのFULL GUIメタデータ移行アプリです、以下の機能があります:
・Gitリポジトリ(例:Github, Bitbucket, Backlog, GitLab …) ベースのSalesforceデプロイ、ブランチ、PRs、コミット単位で差分のみデプロイができます。
・Salesforce組織を依存せず、任意の組織間、環境間のメタデータデプロイができます。
・デプロイ対象メタデータ一覧ファイルのExcel形式でエクスポート・インポートができます。
・削除対象メタデータをチェックして瞬時一括削除できます。

Pipelineは完全オープンソース、最新版はGithubリリースからアプリダウンロードしてください:

Download from Github.com

なぜPipeline?

Salesforceのメタデータ移行方式が様々あります、例えば、変更セットEclipse IDEForce.com Migration Tool(Ant)MavensMate 、そして近年公開したSalesforce DXがあります。

変更セット方式は最も安定な方式である一方で、最も時間かかるデプロイ方式です。1つ組織に5つSandboxがありましたら、環境管理はもうカウスです。
Salesforce DX、カッコよく素晴らしいツールですが、正直GUI画面があればもっと使いやすいかなと思います。
そしてCI+Antの方式、例えばTravisを利用して、Githubブランチベースで自動デプロイ仕組みは設定できますが、Branch中の全量メタデータが毎回デプロイとなり、もし既に実行中のApex Batchも対象に入るなら、デプロイが失敗します。

PS. 実はPipeline開発の一番のキッカケは、Salesforceベンダーとして、過去ある時期に毎週4回(リハーサル込)環境移行を実施したことがあります、毎日デプロイ作業で指を酷使した結果、腱鞘炎にかかってしまいほぼ1ヶ月ぐらいマウスと人差し指使えないでした。。。: (

利用方法

環境接続

Pipelineの利用方法は非常にシンプルで、まずはGithub, BitbucketまたはSalesforceアカウントでgitもしくはSalesforce環境に繋がります。

Gitフローベースのデプロイ

Github / BitbucketのBranchを指定してPipeline作成ができます、この方式だとBranch全量のメタデータをPullし、デプロイされます。そしてPull RequestもしくはCommitの指定もできます、この方式では指定したPull RequestもしくはCommitからDiff(差分)ファイルのみPullしてデプロイとなります。

Changesetベースのデプロイ

PipelineでSFDC環境間、組織間のメタデータ移行ができます。リソース一覧Excel・CSVが準備できたら、Pipelineに導入して変更セットの作成ができますし、変更セットからリソース一覧としてExcelにエクスポートすることも可能です。(この機能は近日リリース予定)

デプロイ

これで、1つPipelineがデプロイ可能の状態です、以下のように実行そしてデプロイ結果の確認ができます:

メタデータ削除(Destruct)

Salesforce組織にある不要な項目・メタデータを削除したい?対象メタデータ指定するだけで一気に削除できます。

問題報告?

Pipelineに関するバグや問題がありましたらお気楽Github Issuseに起票してください、またはPRをください、なるはや対応します!

リリースノート

2019/06/18

・HTTPS git接続機能を追加しました。

2018/11/05

・メタデータソート及び最終更新日・者出力機能を追加しました。

2018/10/23

・メタデータ削除機能を追加しました。
・バグ対応しました。

2018/09/19

・Excelファイルのインポート、エクスポート機能を追加しました。
・オブジェクト名からカスタム項目を絞り込む機能を追加しました。
・バグ対応しました。失礼しました!

2018/08/08

・Beta released.

Enjoy it!