Ant 移行ツール
Ant 移行ツールは、ローカルディレクトリと Salesforce 組織間でメタデータを移動する Java/Ant ベースのコマンドラインユーティリティです。Ant 移行ツールは、次の場合に特に効果的です。
- 大量の設定変更を含むテスト環境を入力する必要がある開発プロジェクト — これらの変更を Web インターフェースから行うと、長時間かかることがあります。
- 複数フェーズのリリースプロセス — 一般的な開発プロセスでは、本番組織にリリースする前に、作成、テスト、ステージングを繰り返し行う必要があります。コンポーネントの取得とリリースをスクリプト化すると、この処理を効率的に行うことができます。
- 同じパラメータを使用した反復リリース — 組織のすべてのメタデータの取得、変更、コンポーネントのサブセットのリリースを行うことができます。この処理を繰り返す必要がある場合、同じリリースターゲットを再度コールするだけで十分です。
- IT によるフェーズから本番への移行 — スクリプト環境でのリリースを好むユーザにとって、Ant 移行ツールはなじみやすいプロセスでしょう。
- バッチリリースのスケジュール — ユーザに影響が出ないように深夜にリリースをスケジュールできます。または、Developer Edition 組織に毎日変更を取り込むこともできます。
メタデータ API について
メタデータ API には、組織の設定を管理し情報 (メタデータ) をカスタマイズする一連のオブジェクトと、そのオブジェクトを操作する SOAP コールが含まれます。メタデータ API では、次のことができます。
- XML メタデータファイルとして設定を操作する
- 組織間で設定の変更を移行する
- 組織��よびアプリケーションのメタデータを管理する独自のツールを作成する
メタデータ API SOAP コールを使用する独自のクライアントアプリケーションを作成できますが、Salesforce では Apex とメタデータを取得およびリリースする Ant 移行ツールを提供しています。
パッケージとディレクトリ構造について
メタデータ API は、パッケージ中心に動作します。コンポーネントは、1 つ以上のパッケージに含まれる場合もあれば、パッケージにまったく含まれない場合もあります。パッケージは、ローカル (Salesforce 組織で作成する) でも、Salesforce AppExchange からインストールしてもかまいません。Ant 移行ツールで一連のコンポーネントを取得するたびに、それらのコンポーネントは単一パッケージの内容に制限されるか、パッケージにまったく含まれない内容に制限されます。次の 3 種類のパッケージがあります。
- パッケージ化されていないパッケージ — 標準オブジェクトのように、組織でネイティブに存在するコンポーネントは、パッケージ化されていないパッケージとなります。
- 未管理パッケージ — 未管理パッケージは、通常、開発者にアプリケーションの基本ビルディングブロックを提供するために、オープンソースプロジェクトまたはアプリケーションテンプレートを配布する場合に使用します。未管理パッケージからコンポーネントがインストールされると、コンポーネントはインストールされた組織で編集できるようになります。未管理パッケージを作成してアップロードした開発者は、インストールされたコンポーネントを制御できず、これらのコンポーネントを変更またはアップグレードできません。Sandbox から本番組織へのコンポーネントの移行に未管理パッケージを使用しないでください。代わりに、変更セットを使用してください。
- 管理パッケージ — ユニットとして AppExchange に投稿され、名前空間と、場合によりライセンス管理組織に関連付けられるアプリケーションコンポーネントの集合です。アップグレードをサポートするには、管理パッケージであることが必要です。組織は、他の多くの組織でダウンロードおよびインストールできる単一の管理パッケージを作成できます。管理パッケージは、未管理パッケージとは異なり、コンポーネントの一部がロックされていて、後でアップグレードできます。未管理パッケージには、ロックされたコンポーネントは含まれておらず、アップグレードはできません。また、管理パッケージでは、開発者の知的財産保護のため、登録している組織では特定のコンポーネント (Apex など) は隠されます。