Hi, 

-- Intro -- 
  When working on your local GIT repo you probably do a lot of: 
    mvn clean install 

  Additionally, if you're working on oVirt-engine you might be doing some of: 
    mvn test -Penable-dao-tests 
    mvn install -Pgwt-admin 
    etc.. 

  This, of course, might take your development computer a while, and hog your 
resources. 

  Usually though, if you work on oVirt, you have a host that you use for 
testing your changes.. 
  This host probably has a 2/4 cores CPU and at least 4Gb of RAM.. 

  This host is sitting quietly most of the time, consuming mostly electricity 
but not doing much. 
  You're probably not even utilizing it that much even when you are testing 
something on it. 
  It is like a powerful guard dog that you keep tied in the back-yard most of 
the time, instead of letting it run free. 

  Well, I have a suggestion how to put that puppy into good use and also free 
up your resources.. 

-- End Intro -- 

You can install Jenkins on the host, and have it monitor your local GIT repo 
for changes, building your commits as necessary.
This works with every local branch you have - Jenkins will pick up the change 
(be it a local commit you just did, or a rebase over the origin) and generate a 
build for it.

This will allow you to monitor your build results just as you would monitor 
locally, while in the same time utilize a (probably) more powerful machine to 
do this for you. It will also probably speed up your build cycle, as builds 
will be executed in parallel. 

I have written an installation guide which explains how to do it in the oVirt 
wiki: 
  http://www.ovirt.org/wiki/Local_Jenkins_For_The_People 

I have also written a script that will run the installation part on the host 
for you, 
so you just need to download the attachment and run it as root on the host, but 
you will still need to do some manual work so make sure to check the wiki.

-- Example Jobs --
  I am also attaching sample jobs to import to Jenkins.
  Make sure to replace the GIT repo URL, you can do this before importing with 
sed:
   # sed -i 's#[git-repo-url]#ssh://[user]@[git-host]/[git-repo-location]#' 
oVirt-engine.*

  For example:
   # sed -i 's#[git-repo-url]#ssh://mkolesni@myhost/~/git/ovirt-engine#' 
oVirt-engine.*

  You can import them with the command:
   # cat [job].xml | java -jar /tmp/jenkins-cli.jar -s http://localhost:8080 
create-job [job-name]

  For example:
   # cat oVirt-engine.xml | java -jar /tmp/jenkins-cli.jar -s 
http://localhost:8080 create-job oVirt-engine
-- End Example Jobs --

Of course, this might not be ideal in cases when you need 100% percent of your 
host.. 
But in such a case you can simply turn off Jenkins, and turn it back on later. 
;) 


Regards, 
Mike 

Attachment: jenkins.sh
Description: application/shellscript

Attachment: oVirt-engine.jobs.tar.gz
Description: application/compressed-tar

_______________________________________________
Engine-devel mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-devel

Reply via email to