[Salesforce.com] Force.com 移行ツールを使った展開について

| | コメント(0) | トラックバック(0) |

最近の仕事ではsalesforce.com上での開発をずっとやっている。色々と痛い目を見てノウハウもたまってきたのもあるし、ネット上であまりに情報がないってのもあり、そろそろココにも残しておこうかなと。

salesforce.com(以下、SFDC)は、言わずと知れたSaaSの代名詞のような会社です。これから更にSaaSのようなクラウド化が進み標準となってしまうのか?そして、それでいいのか?は、まだよくわからんです。

で、一発目は。ちょっと頼まれてまとめたので、ついでということで。開発したモジュールをSFDCに展開する方法についてです。
尚、本番環境(SandboxやDeveloper環境ではない)に展開する場合は、テストコードの用意をお忘れなく。


[Force.com 移行ツールの使い方]
SFDCの運用環境にApexコード等のモジュールを展開するためのツールの1つである「Force.com 移行ツール」とよばれるものの使い方についてまとめます。

[必要なツール]

  • Java SDK 6.1以降
  • Apache Ant
    ・Antの設定については下記サイトを参考にしてみてください。
     Antインストール - Apache Antの使い方
  • Force.com 移行ツール
    1. [設定] - [開発] - [Tools] の順にクリックし、[Force.com 移行ツール] をクリックでダウンロード。
    2. ダウンロードした「salesforce_ant.zip」を解凍し、「ant-salesforce.jar」をantのlibフォルダにコピーします。

[フォルダ構成]
ここではCドライブの直下にSFDCにSIするためのモジュールを配置すると仮定し説明します。下記のようにCドライブの直下に「SFDC_SI」という名前のフォルダを作成し、「[]」の名称のフォルダおよび「package.xml」、「build.xml」、「build.properties」というファイルを配置します。

C:\SFDC_SI
  ├[\mod]
  │  ├[\classes]
  │  ├[\pages]
  │  ├[\scontrols]
  │  ├[\staticresources]
  │  ├[\triggers]
  │  └ package.xml
  ├ build.properties
  └ build.xml

また、そろぞれのファイルの設定を以下にまとめます。
基本的に「build.properties」の下記の値をそれぞれの環境にあわせて変更してください。

  • sf.username:SFDCに接続するユーザを設定してください。
  • sf.password:SFDCに接続するユーザのパスワードを設定してください。必要に応じて、セキュリティトークンも設定してください。
  • sf.serverurl:本番および開発環境は「https://www.salesforce.com」、Sandboxは「https://test.salesforce.com」です。
  • proxy.host:インターネットに接続する際にProxyサーバ経由で接続している場合は、Proxyサーバのアドレス(ホスト名)を設定してください。
  • proxy.port:通常は「8080」で問題ないでしょう。
  • proxy.user:Proxyサーバで認証が必要の場合は、認証ユーザを設定してください。
  • proxy.pass:Proxyサーバで認証が必要の場合は、認証パスワードを設定してください。

[build.properties]の設定

# build.properties #

# Specify the login credentials for the desired Salesforce organization
sf.username = <SFDCユーザID>
sf.password = <パスワード><セキュリティトークン>

# Use 'https://www.salesforce.com' for production or developer edition (the default if not specified).
# Use 'https://test.salesforce.com' for sandbox.
sf.serverurl = https://www.salesforce.com

# If your network requires an HTTP proxy, see http://ant.apache.org/manual/proxy.html for configuration.

proxy.host = <PROXYのIPアドレス>
proxy.port = 8080
proxy.user = <ユーザID>
proxy.pass = <パスワード>

#

[build.xml]の設定
削除する場合は、削除するモジュールを全て設定するようにしてください。


<project name="Sample usage of Salesforce Ant tasks" default="deploy" basedir="." xmlns:sf="antlib:com.salesforce">
<property file="build.properties"/>
<property environment="env"/>

<!-- proxy:プロキシの接続定義 -->
<target name="proxy">
<property name="proxy.port" value=""/>
<property name="proxy.user" value=""/>
<property name="proxy.pass" value=""/>
<setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
proxyuser="${proxy.user}" proxypassword="${proxy.pass}"/>
</target>

<!-- deployAndAllTest:サーバへの保存&Allテスト実行 -->
<target name="deployAndAllTest" depends="proxy">
<sf:deploy
username="${sf.username}"
password="${sf.password}"
serverurl="${sf.serverurl}"
runAllTests="true"
deployroot="mod"
maxPoll ="2000">
</sf:deploy>
</target>

<!-- deploy:サーバへの保存のみ -->
<target name="deploy" depends="proxy">
<sf:deploy
username="${sf.username}"
password="${sf.password}"
serverurl="${sf.serverurl}"
deployroot="mod"
maxPoll ="2000">
</sf:deploy>
</target>

<!-- deployCodeCheckOnly:ソースチェックのみ。サーバへは保存しない -->
<target name="deployCodeCheckOnly" depends="proxy">
<sf:deploy
username="${sf.username}"
password="${sf.password}"
serverurl="${sf.serverurl}"
deployroot="mod"
checkOnly="true"
maxPoll ="2000">
</sf:deploy>
</target>

<!-- delete:サーバモジュールの削除。削除するモジュール名を指定してください -->
<target name="delete" depends="proxy">
<sf:compileAndTest
username="${sf.username}"
password="${sf.password}"
server="${sf.serverurl}">
<deleteClass>XXXXXXX</deleteClass>
</sf:compileAndTest>
</target>

</project>

[package.xml]の設定


<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ApexClass</name>
</types>
<types>
<members>*</members>
<name>ApexComponent</name>
</types>
<types>
<members>*</members>
<name>ApexPage</name>
</types>
<types>
<members>*</members>
<name>ApexTrigger</name>
</types>
<types>
<members>*</members>
<name>Scontrol</name>
</types>
<types>
<members>*</members>
<name>StaticResource</name>
</types>
<version>13.0</version>
</Package>

[実行方法]
コマンドプロンプトを起動し、「SFDC_SI」ディレクトリに移動します。
そして、SFDCに単純にSIする場合は「ant」もしくは「ant deploy」と入力し、[Enter]でOKです。

例えば削除したい場合は、「build.xml」で設定している「delete」を実行すればよいので、「ant delete」と入力し、[Enter]でOKです。

トラックバック(0)

このブログ記事を参照しているブログ一覧: [Salesforce.com] Force.com 移行ツールを使った展開について

このブログ記事に対するトラックバックURL: http://www.swk623.com/mt-tb.cgi/759

コメントする

このブログ記事について

このページは、がDecember 10, 2008 8:08 PMに書いたブログ記事です。

ひとつ前のブログ記事は「新聞」です。

次のブログ記事は「[Salesforce.com] 画面を開発する際の性能について その1」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.1