User:Minooz/RepoSyncProj

From CDOT Wiki
< User:Minooz
Revision as of 14:35, 19 October 2010 by Minooz (talk | contribs) (Challenges)
Jump to: navigation, search

Repositories' Syncing

Version Control Tool

  • comparing popular version control tools [1]
  1. Mercurial My notes on -> Min Mercurial
  2. CVS
  3. SVN
  4. Git

Continuous Integration System

  1. Hudson My notes on -> Min Hudson
  2. Cruise Control My notes on -> Min Cruise Control
  3. Buildbot My notes on -> Min Buildbot
  4. Apache Continuum
  5. Maven
  6. Anthill

Scripting

A new ant script is created e.g. buildHudson.xml that triggers the target(assign1.test) of main build file(build.xml) of the project. See below:
<project name="assign1" basedir="." default="myTarget">
  <target name="assign1.build.call">
    <!-- Call the target that does everything -->
    <ant antfile="build.xml" target="assign1.test"/>
   </target>
  <target name="myTarget.check" depends="assign1.build.call">
    <echo>The assign1.build was called!</echo>
  </target>
</project>

Challenges

  • 1- I was receiving an error message while trying to do a new build on Hudson. It didn't let to clone the project on Hudson workspace. The error message is "Access is denied". So I had to delete the project and create a new one. Apparently one of the reasons is that Hudson doesn't let you queue the jobs. So, if you interrupt a job that is scheduled, you'll get the error message.
  • 2- To run a bash script to build the project, there are 2 ways:
Execute Windows Batch Command:
D:\cygwin\bin\bash /home/HudsonPrac/buildHudson.sh
Invoke an Ant Script
<project name="assign1" basedir=".">
	<target name="myTarget" >
		<exec executable="D:\cygwin\bin\bash" newenvironment="false">
		<arg value="/home/HudsonPrac/buildHudson.sh"/>
		</exec>
	</target>
</project>
  • 3- Since the bash script is running in Windows platform through Cygwin, there are some conflicts,

so the PATH was changed to: PATH=/usr/bin:$PATH