This is very short video tutorial which explains how easily we can use Git to manage source code on bitbucket using Tortoisegit in almost 5 minutes.
As your Salesforce Organization undergoes heavy customization and frequent builds, moving changes from one Sandbox to other sandboxes starts taking longer time and effort. Also, in normal Salesforce project, there are chances that you will have minimum three sandboxes likely Developer Sandbox, QA Sandbox and UAT Sandbox. After some time you will be in need of some solution which can reduce your effort.
Almost 5 years back, when I was working on .net along with Salesforce, I posted article on Continuous Integration of ASP.net and subversion as a code management with MSBuild on code project.
This time its Salesforce using Jenkins. In this article I will walk through solution of above problem using Jenkins. Don’t forget to watch Video at end of this article, where I provided demo of everything explained in this article.
I am assuming you already know about below concepts:
- How to use Git with Salesforce
- Using ANT migration tool in Salesforce
- Generating SSH key
- Automated Daily Backup of Salesforce Using ANT Migration Tool and GIT (Optional)
I will suggest to get familiar with first three topics before jumping to Continuous Integration.
There are two ways to start working with Jenkins
- Install Jenkins on your local system
- Use Cloudbees online
Below diagram shows complete flow of Continuous Integration we are going to setup in this article.
For this tutorial, I will install Jenkins on my local system. To install it, Navigate to Jenkins homepage and download installer.
During my J2EE and .Net days, I was much dependent on the subversion repository. I had never thought my code without SVN. When I moved to Salesforce few years back, the first thing I missed is code repository to have better source code control. As svn creates either “.svn” or “_svn” folder, it was not supported by the force.com IDE and I struggled much to get it work out. Salesforce saves only real time information. So it is very difficult to know what was changed in past related to any issue as well as complete code backup.
Era of Git
Git has emerged as the most powerful source code repository and widely accepted by the developer communities. If I will talk about Git this article is going to be out of discussion scope.
Above figure describes Architect of Git. The one thing to notice in above figure is that Git has local repository as well as remote repository which make it better and more flexible than any other code repository tool.
As you can see in above diagram also, user can work on completely different branch which is stored on his local repository and when he thinks that he is ready to push the code on Git, just commit the changes on remote repository.