The new dev scripts-- now with rbenv

Crag Wolfe cwolfe at redhat.com
Thu Sep 27 08:10:23 UTC 2012


Thanks for the link, Michal (nice post).  I have updated bootstrap.sh to 
incorporate the workaround to compile 1.8.7 for Fedora 16 and 17.  So, 
the following three RBENV_VERSION settings should now work on Fedora 16, 
Fedora 17 and RHEL 6:

export RBENV_VERSION=1.8.7-p370
export RBENV_VERSION=1.9.3-p194
export RBENV_VERSION=             # undefined, use system ruby


On 09/26/2012 05:03 AM, Michal Fojtik wrote:
> On Sep 25, 2012, at 2:02 AM, Crag Wolfe<cwolfe at redhat.com>  wrote:
>
> Nice writeup Crag!
>
> If you want to use Ruby 1.8.x on Fedora 17, there is something more
> you need to do:
>
> http://mifo.sk/rbenv-simple-ruby-managment-in-fedora
>
>    -- Michal
>
>> The latest iteration of the dev scripts now supports (in addition to
>> system ruby), the ability to download and install an arbitrary ruby
>> version via rbenv.
>>
>> Also, it is now possible to set up two conductor development
>> environments side by side since the conductor port is scriptable.
>> For instance, to apply a pull request to one instance but not the other:
>>
>> In one shell:
>>
>> export FACTER_CONDUCTOR_PORT=3000
>> export WORKDIR=/tmp/test
>> export DEV_USERNAME=test
>> export RBENV_VERSION=1.9.3-p194
>> curl https://raw.github.com/cwolferh/aeolus-cfg/master/bootstrap.sh | /bin/sh
>>
>> In another shell (although a good idea to let the first one finish
>> installing 1.9.3-p194 in /home/test/.rbenv before running) :
>>
>> export FACTER_CONDUCTOR_PORT=3001
>> export WORKDIR=/tmp/test2
>> export DEV_USERNAME=test
>> export RBENV_VERSION=1.9.3-p194
>> export FACTER_CONDUCTOR_PULL_REQUEST=71
>> curl https://raw.github.com/cwolferh/aeolus-cfg/master/bootstrap.sh | /bin/sh
>>
>> In this case, as expected there is one instance running on port 3000
>> without a pull request applied, and another instance running on port
>> 3001 with pull request 71 applied.  Both are using rbenv to set the
>> ruby version to 1.9.3-p194.  They both use the system user, test, to
>> check out and build the projects along with RBENV_VERSION ruby. They
>> use separate work directories of /tmp/test and /tmp/test2.  Finally,
>> the presence of FACTER_CONDUCTOR_PULL_REQUEST in the second case
>> indicates that we want to apply a pull request (it must be an active
>> pull request).
>>
>> Additional Notes
>>
>> * System ruby and puppet are still installed and used as the framework
>>   for creating the conductor/aeolus-image-rubygem/aeolus-cli work
>>   directories and associated setup (mainly git commands).  However, if
>>   RBENV_VERSION is specified, rbenv and the relevant local rbenv ruby
>>   is used for the conducutor/aeolus-image-rubygem gem, bundler and run
>>   tasks.  In other words, don't panic if you see system ruby being
>>   installed when you run bootstrap.sh but a RBENV_VERSION is set.
>>
>> * No .bashrc or similar shell-effecting changes are made to
>>   $DEV_USERNAME'S homedir (intentionally).  If you su to $DEV_USERNAME
>>   and you want to pick up the rbenv that was installed by boostrap.sh,
>>   you can either prepend ~/.rbenv/bin:~/.rbenv/shims to your PATH or,
>>   as per the rbenv installer instructions, add the following to
>>   .bashrc, for example:
>>
>>      export RBENV_ROOT="${HOME}/.rbenv"
>>
>>     if [ -d "${RBENV_ROOT}" ]; then
>>       export PATH="${RBENV_ROOT}/bin:${PATH}"
>>       eval "$(rbenv init -)"
>>     fi
>>
>> *Currently, the scripts are located at
>> https://github.com/cwolferh/aeolus-cfg, but we do want to rebase this
>> under aeolus-incubator at some point (with a different project name).
>
> Michal Fojtik
> http://deltacloud.org
> mfojtik at redhat.com
>
>
>




More information about the aeolus-devel mailing list