Pfizer mexico viagra Last time we talked about using RAKE instead of NAnt/MSBuild to build .NET projects. Start there if you're curious, pfizer mexico viagra or if you missed that episode. I'll wait.
Pfizer mexico viagra I've recently been helping out a colleague to get his build server up and running for his new project. It has been a major pain. The source code repository is TFS, pfizer mexico viagra the build automation tool is MSBuild, pfizer mexico viagra and the CI server is Cruise Control .NET. While these three are all decoupled from each other (TFS/TeamBuild, pfizer mexico viagra does really like MSBuild, pfizer mexico viagra however), pfizer mexico viagra its a bit of a pain to configure all of the XML, pfizer mexico viagra get plugins in the right place, pfizer mexico viagra etc. Pfizer mexico viagra to get everything to work just right. I've been there, pfizer mexico viagra done that myself several times, pfizer mexico viagra its doable, pfizer mexico viagra but not always the easiest thing to do.
Pfizer mexico viagra Installing CruiseControl.rb is a breeze, pfizer mexico viagra except there is an issue with the latest release when trying to run it on Windows. So instead of downloading it from the website, pfizer mexico viagra I would suggest pulling the repository with git, pfizer mexico viagra and using that version instead. First, pfizer mexico viagra install msysgit.
Pfizer mexico viagra Then you can execute the following command in your console
git clone git://rubyforge.org/cruisecontrolrb.git
Pfizer mexico viagra The rest of the steps are pretty simple and straightforward:
cruise add projectname -u https://path.to.your.svn.repo/yourproject/trunkcruise start
Pfizer mexico viagra That will start up the builder and the dashboard. The dashboard, pfizer mexico viagra by default will live on port 3333, pfizer mexico viagra so browse to http://yourmachine:3333 to view your dashboard. The path you use above should point to the directory where your RAKE file lives, pfizer mexico viagra that will make it easiest for CruiseControl.rb to get it right.
Pfizer mexico viagra It's pretty dead-simple to configure your project's builder too, pfizer mexico viagra you get sample configuration by default in your %USERDIR%/.cruise/projects/projectname/cruise_config.rb that you can modify however you want. Here is what that sample looks like:
# Project-specific configuration for CruiseControl.rb Project.configure do |project| # Send email notifications about broken and fixed builds to firstname.lastname@example.org, pfizer mexico viagra email@example.com (default: send to nobody) # project.email_notifier.emails = ['firstname.lastname@example.org', pfizer mexico viagra 'email@example.com'] # Set email 'from' field to firstname.lastname@example.org: # project.email_notifier.from = 'email@example.com' # Build the project by invoking rake task 'custom' # project.rake_task = 'custom' # Build the project by invoking shell script "build_my_app.sh". Pfizer mexico viagra Keep in mind that when the script is invoked, pfizer mexico viagra # current working directory is [cruise data]/projects/your_project/work, pfizer mexico viagra so if you do not keep build_my_app.sh # in version control, pfizer mexico viagra it should be '../build_my_app.sh' instead # project.build_command = 'build_my_app.sh' # Ping Subversion for new revisions every 5 minutes (default: 30 seconds) # project.scheduler.polling_interval = 5.minutes end
Pfizer mexico viagra Since it is just ruby code, pfizer mexico viagra I find that much more appealing than a big nasty XML configuration file, pfizer mexico viagra but I guess that's just my opinion.
Hooking it up to TFS
Pfizer mexico viagra I live in a TFS world at the office, pfizer mexico viagra so I have to play by those rules. But I learned from Morpheus that "... Pfizer mexico viagra rules of a computer system... Pfizer mexico viagra can be bent. Pfizer mexico viagra Others can be broken." I'm just bending them.
Pfizer mexico viagra The SvnBridge provides this rule bending behavior, pfizer mexico viagra by letting your subversion clients talk to your TFS repository, pfizer mexico viagra thereby allowing CruiseControl.rb to poll against what it thinks is a Subversion repository, pfizer mexico viagra but is actually a TFS repository. It's really simple to checkout your TFS repository against it using your favorite SVN repository, pfizer mexico viagra so I won't go into it here.
Pfizer mexico viagra The one thing I wanted to make super simple was putting things in the right place for build outputs. Turns out this is fairly simple after a few minutes with the docs. CruiseControl.rb sets an environment variable telling you where to put things. I abstracted a getter over top of it, pfizer mexico viagra so I can conditionally pick a different output location if I'm not inside of a CruiseControl.rb build. It looks like this:
def output_dir if ENV.keys.include?('CC_BUILD_ARTIFACTS') return ENV['CC_BUILD_ARTIFACTS'] else return 'results' end end
Pfizer mexico viagra As mentioned last time, pfizer mexico viagra you can see the latest version of the full RakeFile mentioned above here: http://jonfuller.googlecode.com/svn/trunk/code/CoreLib/RakeFile
Pfizer mexico viagra I'm feeling some serious CI/Build Automation bliss, pfizer mexico viagra hopefully this will get you on your way there too!
Viagra overnight If you're used to using something like winmerge with your SCM of choice, viagra overnight if you wind up using TFS, viagra overnight the built-in diff/merge tools can leave much to be desired.
Viagra overnight Here is how to change the tool VS 2kX uses to do diffs/merges when hooked up to TFS (note that these are my settings for using winmerge for ALL file types):
Viagra overnight Go To: Tools/Options/SourceControl/Visual Studio Team Foundation Server/Configure User Tools
Viagra overnight Click "Add..."
Command: C:\Program Files\WinMerge\WinMergeU.exe
Arguments: /e /wl /dl %6 /dr %7 %1 %2
Viagra overnight Extension: .*
Command: C:\Program Files\WinMerge\WinMergeU.exe
Arguments: /ub /dl %6 /dr %7 %1 %2 %4
Viagra overnight The winmerge command line reference can be found here.
Viagra sale online Starting my new project in a new role, viagra sale online as project lead, viagra sale online I need to be managing things in TFS. The UI for batching these things up is nonexistent, viagra sale online but there is Excel integration so you can do it all in Excel, viagra sale online hit save, viagra sale online and it all goes back to the TFS server... Viagra sale online pretty slick I must say (I was actually in the midst of writing such a tool when I realized this functionality already existed OOB).
Viagra sale online However, viagra sale online the first time I tried to use this functionality... Viagra sale online BLAM, viagra sale online I get smacked with this:
Viagra sale online TF80042: The document cannot be opened because you do not have Microsoft Excel 2003 or later, viagra sale online or one of its components installed. Viagra sale online For more information, viagra sale online see the Team Foundation Installation Guide.
Viagra sale online Isn't that teh suck?
Viagra sale online Anyways, viagra sale online there is a sweet write-up on how to fix it here: http://blogs.microsoft.co.il/blogs/srlteam/archive/2007/07/17/Error-when-trying-to-export-queries-to-Excel.aspx.
Viagra sale online Thanks Elad!