Manages a bash script that update the current build environment based on TeamCity artifact dependencies.
sudo apt-get install ruby1.9.1 ruby1.9.1-dev libxml2-dev libxslt-dev
sudo update-alternatives --config ruby (and select ruby 1.9.1)
sudo gem install bundler
git clone https://github.com/chrisvire/BuildUpdate
cd BuildUpdate
bundle install
sudo bundle exec gem pristine nokogiri
(this removes a warning about library incompatibility)
- You need a way to run shell scripts, e.g. Cygwin or msysgit (which includes Git Bash)
- install Ruby (http://rubyinstaller.org/downloads/)
gem install bundler
git clone https://github.com/chrisvire/BuildUpdate
cd BuildUpdate
bundle install
- Create a buildupdate.sh script in your build directory with configuration (see below).
- Run the buildupdate.rb script to update buildupdate.sh with all of the calls to update the current build environment.
- Commit the buildupdate.sh script to source control.
- Run
buildupdate.rb
, as in
c:\dev\bloom> c:\dev\bin\BuildUpdate\buildupdate.rb -f buildupdate.sh
The updated version of buildupdate.sh will be part of your commit.
- Run
buildupdate.sh
to get the correct dependencies for that branch.
The configuration is in comments at the beginning of the file. Use the variables:
- server: specifies the the hostname of the TeamCity Server
- project: the name of the TeamCity project
- build: the name of the TeamCity build configuration
- build_type: the internal TeamCity buildType id
You can either specify project
& build
, or specify build_type
.
You can declare different values for these parameters for each OS (windows, linux, osx, unix). The most specific will be used. For example:
#!/bin/bash
# server=build.palaso.org
# project=WeSay Windows
# build.windows=WeSay-win32-1.4-continuous
# build.linux=WeSay-precise64-DefaultMono Continuous