Force.com移行ツール (Force.com Migration Tool)とはApache の Ant 開発ツールを使用してApex Codeをデプロイしたり、削除したりといったことが行えるツールです。どのようなツールなのかは一応把握しているのですが、実際に利用したことはなかったのでインストール方法を確認してみました。
はじめに
インストール手順はSalesforceのHelpサイトで紹介されています。今回はこれを参考に試しています。
Force.com 移行ツールインストール方法
https://help.salesforce.com/apex/HTViewSolution?id=000176910&language=ja
Force.com移行ツールを使用するにはAntとJava SDKが必要になります。Antのインストール方法は次のサイトが参考になりました。
Antインストール方法
Ant 1.8.2のダウンロード及びインストール - Apache Antの使い方
コマンドプロンプトで次のコマンドを実行することでJavaのバージョンを確認できます。
java -version
Javaのバージョン確認はこちらのサイトが参考になりました。
WindowsまたはMacでJavaバージョンを確認する方法 - 手動の方法
インストール手順
1.Version1.6以降のApache Antをインストール
a.ダウンロード
ダウンロードページはこのURLで直接アクセスできます。
http://ant.apache.org/bindownload.cgi
Current Release of Antのあたりにダウンロードリンクが用意されています。この中のZipファイルをダウンロードします。
b.ダウンロードしたファイルを任意のパスに展開
例) C:\pg\apache-ant-1.9.4 という感じです。
c.システムの環境変数にパスを登録
マイコンピュータで右クリック>[プロパティ]>[詳細設定]>[環境変数]
システムの環境変数[Path]をクリック>[編集]
変数値の最後部に[;C:\pg\apache-ant-1.9.4\bin]を追加
d.端末を再起動する
e.コマンドプロンプトにてant -versionを入力し動作することを確認
このときバージョン情報もエラーメッセージも何も表示されない現象が発生しました。
原因ですが、Lhaplusで解凍した際にエラーが発生していました。Lhaplusをアンインストールしてから再度展開し直すことでひとまず解決しました。
バージョン情報は表示されるようになりましたが、代わりに「Unable to locate tools.jar. Expected to find it in...」というエラーがでるようになりました。
エラーの解決に参考になりそうなサイトがあったので確認してみるとJAVA_HOMEの設定が原因みたいです。
takuanのメモ antでUnable to locate tools.jarが出た場合の対処
自分の環境で確認してみたところ環境変数にJAVA_HOMEが存在していませんでした。JAVA_HOMEは次のサイトを参考に設定しました。
PATHの設定及び環境変数JAVA_HOMEの設定 - Javaダウンロードとインストール
設定後、再起動してから『set JAVA_HOME』コマンドで設定確認します。
無事に設定できていることを確認できました。この状態で『ant -version』コマンドを実行してみます。
エラーが消えて正常に表示されるようになりました!...ということで続きを進めて行きます。
2.設定>開発>ツール>と画面遷移し、Force.com 移行ツールのリンクをクリックしファイルをダウンロード
5.build.propertiesに対象組織のユーザ名、パスワードを設定
sf.username = <Insert your Salesforce username here> sf.password = <Insert your Salesforce password here>
build.propertiesはテキストエディタで編集できます。
6.コマンドプロンプトにてファイルを展開した先のSampleフォルダまで遷移
例) C:\pg\salesforce_ant_32.0\sample
7.build.xmlのtarget nameを指定し移行ツールを実行
Sampleフォルダ内のcodepkgをDeployするコマンドは次のとおりです。
ant -Dpackage.xml=package.xml -f build.xml deployCode
試しに上のコマンドでDev環境へのデプロイを実行してみました。
処理は実行されましたが、エラーが発生したみたいです。エラーメッセージを見てみるとログイン情報に誤りがあったみたいです。
このエラーの原因はログイン情報の指定の仕方でした。次のような感じで入力していましたが、<>は不要だったみたいです。
sf.username = <test@sfdcdevelopers.com.test> sf.password = <demo123>
次の用に入力すればいいみたいです。(シングルクォートやセミコロンは不要です)
sf.username = test@sfdcdevelopers.com.test sf.password = demo123
これで正常に実行できました。
組織のApexクラスを確認してみると、サンプルクラスが登録されていることを確認できます。
デプロイされるファイルはcodepkgフォルダ内のファイルになります。(ApexクラスとApexトリガが用意されています。)
以上がForce.com 移行ツールのインストール手順となります。
補足
- build.propertiesやbuild.xmlの詳細についてインストール先フォルダ内のReadme.htmlを参照ください。
- Force.com移行ツール自体は下記マニュアルを参照ください。