In addition to the Force.com
IDE, you can also use a script to deploy Apex.
Download the Force.com
Migration Tool if you want to use a script for deploying Apex from
a Developer Edition or sandbox organization to a Database.com production
organization using Apache's Ant build tool.
The Force.com Migration Tool is a free resource provided by salesforce.com to
support its users and partners but isn't considered part of our services for
purposes of the salesforce.com Master Subscription Agreement.
To use the Force.com Migration Tool, do the following:
1. Visit http://java.sun.com/javase/downloads/index.jsp and
install Java JDK, Version 6.1 or greater on the deployment machine.
2. Visit http://ant.apache.org/ and
install Apache Ant, Version 1.6 or greater on the deployment machine. i found it here http://ant.apache.org/bindownload.cgi
3. Set up the
environment variables (such as ANT_HOME, JAVA_HOME, and PATH) as specified in the Ant Installation
Guide at http://ant.apache.org/manual/install.html. Dont forget setup the same variables in User and System environment variables. In windows right click on Computer > Properties > Advanced Settings > environment variables
4. Verify that the JDK
and Ant are installed correctly by opening a command prompt, and entering ant –version. Your output should
look something like this:
Apache Ant version 1.7.0 compiled on December 13 2006
5. Log in to Salesforce on
your deployment machine. Click Your Name | Setup | Develop | Tools,
then click Force.com Migration Tool.
6. Unzip the downloaded
file to the directory of your choice. The Zip file contains the following:
o
A Readme.html file that explains how to use the tools
o
A Jar file containing the ant task: ant-salesforce.jar
§ A sample folder
containing:
§ A codepkg\classes folder that
contains SampleDeployClass.cls and SampleFailingTestClass.cls
§ A codepkg\triggers folder that
contains SampleAccountTrigger.trigger
o
A mypkg\objects folder that contains the custom objects used in the examples
o
A removecodepkg folder that contains XML files for removing the examples from your
organization
o
A sample build.properties file that you must edit, specifying your credentials, in order to
run the sample ant tasks in build.xml
o
A sample build.xml file, that exercises the deploy and retrieveAPI calls
7. Copy the ant-salesforce.jar file from the
unzipped file into the ant lib directory. The ant lib directory is located in
the root folder of your Ant installation.
8. Open the sample
subdirectory in the unzipped file.
9. Edit the build.properties file:
§ Enter your Salesforce production
organization username and password for the sf.username and sf.password fields,
respectively.Note
o
The username you specify should have the authority
to edit Apex.
o
If you are using the Force.com Migration Tool from an
untrusted network, append a security token to the password. To learn more about
security tokens, see “Resetting Your Security Token” in the Salesforce online
help.
§ If you are deploying
to a sandbox organization, change the sf.serverurl field to https://test.salesforce.com.
10. Open a command window
in the sample directory.
11. Enter ant deployCode. This runs the deployAPI call, using the sample class
and Account trigger provided with the Force.com Migration Tool.
The ant deployCode calls the Ant
target named deploy in the build.xml file.
<!-- Shows deploying code & running tests for package 'codepkg'
-->
<target name="deployCode">
<!-- Upload the contents
of the "codepkg" package, running the tests for just 1 class -->
<sf:deploy username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" deployroot="codepkg">
<runTest>SampleDeployClass</runTest>
</sf:deploy>
</target>
12. To remove the test
class and trigger added as part of the execution of ant deployCode, enter the following
in the command window: ant undeployCode.
ant undeployCode calls the Ant
target named undeployCode in the build.xml file.
<target name="undeployCode">
<sf:deploy username="${sf.username}" password="${sf.password}" serverurl=
"${sf.serverurl}" deployroot="removecodepkg"/>
</target>
This comment has been removed by the author.
ReplyDeleteHi, want to add that we can deploy not only APEX but anything we want to production or other org. Especially it's cool when we need to deploy objects with a lot of fields.
ReplyDeleteThis comment has been removed by the author.
DeleteIf you change your package.xml and add other items such as
DeleteGoogle doesnt like entering xml in these comments so Ive removed the angle brackets below
types
members * members
name ApexPage name
types
types
members * members
name ApexTrigger name
types
types
members * members
name CustomObject name
types
So you can triggers and objects, of course you can add most things