“Why do you blogging?” this is the question which always had in my mind at the time of starting of my blog. Then I had only one answer. I just want to update my knowledge. And I think for good blogging, specially for Technical blogging we need to go through latest technologies.
Do you know now, after TWO long years of blogging I am very much satisfied with my efforts. It helped me to update my knowledge, got lot of friends through blogging, lot of interaction with the great people through blog comments as well as through mailing, getting good appreciation from the people who don’t even know me. Thanks to Mr.Abrachan, the man who asked me to to start a blog. He only told me about the advantages of blogging at my starting time. Thank you very much Mr.Abrachan. I really remember you…
Now just let me ask the same question to me itself. Why should I blog? Now I have some well defined answers… 🙂
It updates my knowledge: I have really realized that writing on a topic helps me think better and deeper in that technology area. I am going through so many feeds, technology links to get more knowledge about that topic . This is very helpful to me as a person who want to know more about the upcoming technologies. It also helps me to work better for my company too.
Sharing my knowledge: I am blogs about the works done by me. When I am going through something new in my working life then I am trying to blog that information. Hoping that it will be helpful to others. Because In my life so many blog posts helps me to do my work perfectly and “I just want to be one of them for others”.
For future reference: Yea!! really. It helps me to. When I come across any errors or exceptions which stuck me for a long time, I do blogging them. With the exact problem and its solutions. This certainly will help me in the future. And for others too. Simply in one word, “this is the better way of archiving my thoughts and knowledge”.
To create a Personal Voice: Express yourself!. I can express my thoughts about the latest things here and its an area where I will get the comments from other peoples about it.
Connect with Co-Workers/Employees: It helps me to keep in touch with my friends. They can also learn the new technologies which I am going through as well as they can get the solutions of the problems which I had faced in my working time.
Brand Recognition and Conversations: Blogging lets me have conversations. Multiple posts on a topic across multiple blogs weaves into a common thread that builds into a conversation.
Blogging is a good way to meet people: Another aspect of the conversations is to connect with others, which would simply not be possible otherwise. Blogging is a discovery vehicle that introduces me to new people based on the criteria I want. And very soon you can build relationships out of these, which is what has brought me here on this wonderful blog.
Thank god for every thing that you given to me. Without you I am nothing.
Continuum, Cruise Control and Hudson are some of the famous continuous integration tools which people are using nowadays. Cruise Control is the pioneer one and people are using from a long period of time. Continuum is from the Maven team and very high integration with Maven 1 and 2. Hudson is the new one but it is more popular now.
Continous Integration build system is very useful in a software development company where members of a team integrate their work frequently. It reduces the wastage of time and at the same time it helps us to maintain all the builds up to date. Previous week we also configured a continous build flow in our R&D division using Cruise Control, Maven and Subversion. For this what we did is, we created our project module builds in MAVEN2 (Using the latest technology which gives us more options and easiness to handle projects). Created a new SVN environment and Configured the SVN with Cruise Control.
Here In this post I am describing about the Configuration of Cruise control with Maven and Subversion.
Versions Used:
Subversion : 1.4.6
Maven : 2.0
Cruise Control : 2.7.2
What is Cruise Control?
CruiseControl is a popular open source tool for implementing Continuous Integration (CI) of Java applications. The idea behind CI is; Build, regression test, and deploy your software application to a test environment every time a code change is committed to version control. If the code change causes the build to break, the regression test to fail, or a problem with the deployment, identify and correct the problem promptly. CruiseControl is ideally suited for CI. It is a reliable tool that provides real value to Java development teams of any size.
Continuous Integration is a software development practice where members of a team integrate their work frequently; usually each person integrates at least daily – leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.
What is the goal which we want to acheive from this process?
Using maven we are maintaining a Center repository for the JARs and trying to avoid the famous Java programers error word.. “Its working in my machine but I dont know why its not in yours”. Maven will give an Object oriented way to our build system and will give a lot of plugins to make it more advanced and useful.
The cruise control will build automatically when we update any new code to the SVN and will send emails to the respective persons about the build’s success or failures. It will give the name of the programmer who is checked in the code to SVN and also the files where the code is failing.
Extract the files in to a specific location where you want to install the CruiseControl. For Example: C:\CruiseControl2.7.9
Step 3:
In the Cruise control installation directory we have a batch file called cruisecontrol.bat. Double click on this will start the cruise control in port 8080. Internally a jetty Server is running… We can change the port by editing the batch file.
2. Configuring Cruise Control for Maven2 and Subversion1.4.6.
Prerequisites:
Apache Maven2 should be installed in the server where we are installing and configuring CruiseControl
Subversion should be installed and running on the server.
Follow the two Steps below to configure a new project in Cruise control.
Configuring in config.xml file.
This is the main part of configuring a project in the cruise control. Here we are giving the necessaey informations about the project, the Scheduling the time, configuring the bootstrappers, giving the location of the local copy, Giving the SVN location, specifing the MAVEN or ANT commands which we have to run in scheduled time etc. Please find the comments written in each part for more information.
Here in this I had configured all the common parameters at the TOP of the config.xml for reusability.
<! — A container element for a set of modifications collected from all included SourceControl elements.<modificationset> can contain multiple elements which can be useful to check only parts of a large Project rather than checking all files every time. –>
1. Schedule Time Interval : This is the time period in which cruise control is checking the SVN for updation.
2. ANT script in schedule composite tag: Which is used to copy the SVN updated files.
3. MAVEN goals:mvn clean compile site:site site:deploy This we used to clean and compile the code. Then it will create the site related files for that project and deploy it in a server which we specified in that POM file
[l1]This is the ANT script which is copying all the SVN updated data in to the Local copy. So we need to copy that ANT build file in to the Local projects folder.