+ Start a Discussion
SrilakshSrilaksh 

Automated Deployment from Perforce to salesforce.com

I have a typical deployment scenario at my work place.
 
We have Perforce for Version control.
 
Here is the scenario:
 
A developer codes, customize or configure something in his dev org. He now checks in his changes to the version control repository called Perforce.
 
I have to do a automated deployment every night to query perforce for the latest changelist/Label dynamically and then deploy the changes to sandbox, prod etc. This one should be automated with no human interventions. Again this whole process of querying and then deploying should be automated. While querying i should be querying only the changed files based on a label or changelist and not all the files.
 
is there a way to handle this scenario and is there any reference for me to accomplish this?
 
 
Another question,
 
I have a folder that contains subfolders like objects, classes etc. can i do deployment using Ant migration tool without the package.xml file in it
Is the package.xml file really needed for any kind deployment.
 
This is a very critical req that has to be answered before noon. Please help me da.
Best Answer chosen by Admin (Salesforce Developers) 
manuel-jose-condemanuel-jose-conde

hi  Srilaksh,

 

your assumption is correct and yes we are talking about something like what is described in the wiki but we are using jenkins instead.

 

You can send me a private message to share contacts.

 

Regards

Manuel

 

All Answers

gaisergaiser

Srilaksh wrote:
I have a folder that contains subfolders like objects, classes etc. can i do deployment using Ant migration tool without the package.xml file in it
Is the package.xml file really needed for any kind deployment.

package.xml is required for Ant based deployments.

However, you do not have to generate new package.xml every time if you do not want to.

Just make sure that your package.xml contains wildcards for all metadata types which you are planning to deploy and use same package.xml for every deployment.

manuel-jose-condemanuel-jose-conde

hi,

 

continuous integration is something difficult to implement, specially with cloud systems. I'm telling this because I've just been through the first phase of that process in one of our clients. 

There we use SVN (src repo) and jenkins as the integration server (doing automatic builds  every each hour). Jenkins uses ant tool to deploy and runs tests. We deploy only the new changes in SVN since last run (deployment). 

Also, this project requires multiple developers to share same sandbox to develop and to avoid conflits like 2 developers accessing to same resource in the sandbox we developed a custom eclipse plugin for developers to coordinate access  to resources in the sandbox (mainly for apex and VF pages/compoonents and objects).

 

Feel free to contact me if you need.

 

 

 

 

 

 

SrilakshSrilaksh
Hi Manuel, Your solution is what i am looking in to. I am in a very critical part of this project. I need more information on this. Is there a way apart from email i can call you by any means. I have very mission critical questions. Let me also put my questions here 1. With continuous integration what i understand is every time if there is a change in any file you will integrate the whole repository of the svn with the org so that all your orgs are in sync always. 2. If my assumption is wrong in the above point then what i can assume is that you will integrate only the latest updates, if so how do you manipulate the package.xml file which is a manifest to integrate/ deploy with the destination org. 3. Are you talking about something like this : http://wiki.developerforce.com/page/Continuous_Integration_Cruise_Control_and_Force_Com I would appreciate if we can talk on this today itself as i have to give my suggestion to my team on coming monday. Thanks, Sri -- "There is a theory which states that if ever anybody discovers exactly what the Universe is for and why it is here, it will instantly disappear and be replaced by something even more bizarre and inexplicable. There is another theory which states that this has already happened." - Douglas Adams
manuel-jose-condemanuel-jose-conde

hi  Srilaksh,

 

your assumption is correct and yes we are talking about something like what is described in the wiki but we are using jenkins instead.

 

You can send me a private message to share contacts.

 

Regards

Manuel

 

This was selected as the best answer
vinaydasarivinaydasari

Hi Sri,

 

If at all you don't want to develop it on your own and need a solution for automated cloud deployment, you can contact http://lemtom.com/rabit.html  for complete automated solution for cloud deployments.

The product RABIT uses cruise control and force.com migration tool for automated deployment.

ajinfajinf

Hi Manuel,

 

We are also trying to develop the same thing. We are also planning to use SVN as the source repository and Jenkins as the integration server. Will it be possible for you to have a call with us. It will really nice if you can give us some overview of what you did and the major issues you faced.

 

Thanks

Ankit

karnadesaikarnadesai
Hi Manuel,

Quick question, how are you manipulating package.xml for including on those files which have changed since last commit ? Are you using any xml parser for doing so or are you manully editing package.xml ?