2014-10-27 2 views
1

Я пытаюсь развернуть экспериментальное приложение Rails на своем предприятии. Все здесь - setuo для разработки Java, поэтому мне нужно открыть новые горизонты, чтобы получить признание Rails в компании.RVM не загружается для сборки Jenkins

Мне нужно использовать Jenkins CI (версия 1.580) для развертывания моего Rails 4.1.4 приложения (ruby-2.1.2) на промежуточном сервере CentOS (выпуск 5.9) здесь, в офисе, в качестве доказательства концепции до мое приложение будет разрешено рядом с производственным сервером.

Я установил следующие плагины в Jenkins и перезапущен: Hudson рубин Plugin, РВМ, Rake плагин, рубиново-среда, RubyMetrics плагин для Jenkins, GIT клиент плагин, плагин GIT, GitHub API плагин, плагин GitHub

Сборка Jenkins, похоже, терпит неудачу во время сценария инициализации RVM, который выводится ниже.

My Дженкинс .bashrc файл выглядит следующим образом:

#/var/lib/jenkins/.bashrc 
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting 

И .rvmrc:

Я попытался RVM и удаление содержимого диска переустановки с помощью инструкции по многопользовательской и гарантировал, что мой Пользователь jenkins является членом группы rvm.

Мой сценарий сборки выглядит следующим образом:

source ~/.bashrc   # Loads RVM 
cd .  # Loads the RVM environment set in the .rvmrc file 
# set env vars 
#export GEM_PATH=/usr/local/lib/ruby/gems/1.2/gems 
#export CI_REPORTS=results 
export RAILS_ENV=test 
#cp config/database.yml.example config/database.yml 
# creates a database.yml 
bundle install   # Installs gems 
rake db:schema:load  # Loads all the database schema 
rake      # Runs RSpec tests 

Вот полный Консольный выход из Дженкинс

Started by user Pete 
Building in workspace /var/lib/jenkins/jobs/MerchantManager/workspace 
> git rev-parse --is-inside-work-tree # timeout=10 
Fetching changes from the remote Git repository 
> git config remote.origin.url https://github.com/***/epgDataPoC# timeout=10 
Fetching upstream changes from https://github.com/***/epgDataPoc 
> git --version # timeout=10 
using .gitcredentials to set credentials 
> git config --local credential.helper store --file=/tmp/git5734173224303904567.credentials # timeout=10 
> git fetch --tags --progress https://github.com/***/epgDataPoc +refs/heads/*:refs/remotes/origin/* 
> git config --local --remove-section credential # timeout=10 
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10 
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10 
Checking out Revision 8bced4d8fecd4135bcb4868aa4011e140adf46d3 (refs/remotes/origin/master) 
> git config core.sparsecheckout # timeout=10 
> git checkout -f 8bced4d8fecd4135bcb4868aa4011e140adf46d3 
> git rev-list 8bced4d8fecd4135bcb4868aa4011e140adf46d3 # timeout=10 
[workspace] $ /bin/bash -xe /tmp/hudson1400066644804618273.sh 
+ source /var/lib/jenkins/.bashrc 
++ [[ -s /var/lib/jenkins/.rvm/scripts/rvm ]] 
++ source /var/lib/jenkins/.rvm/scripts/rvm 
+++ builtin test -n '3.2.25(1)-release' -o -n '' 
+++ case "`uname`" in 
++++ uname 
++++ command ps -p 29628 -o ucomm= 
++++ ps -p 29628 -o ucomm= 
+++ __shell_name=bash 
+++ case "$__shell_name" in 
+++ unset __shell_name 
+++ __rvm_has_opt posix 
+++ [[ -n '' ]] 
+++ [[ -n 3.2.25(1)-release ]] 
+++ [[ :braceexpand:errexit:hashall:interactive-comments:xtrace: =~ :posix: ]] 
+++ return 1 
+++ export HOME rvm_prefix rvm_user_install_flag rvm_path 
+++ HOME=/var/lib/jenkins 
+++ [[ -n '' ]] 
++++ umask 
+++ export rvm_stored_umask=0022 
+++ rvm_stored_umask=0022 
+++ (( 0 == 0 )) 
+++ rvm_rvmrc_files=("/etc/rvmrc" "$HOME/.rvmrc") 
+++ [[ -n '' ]] 
+++ for rvmrc in '"${rvm_rvmrc_files[@]}"' 
+++ [[ -f /etc/rvmrc ]] 
+++ GREP_OPTIONS= 
+++ command grep '^\s*rvm .*$' /etc/rvmrc 
Build step 'Execute shell' marked build as failure 
Publishing rails stats report... 
[email protected] 
Finished: FAILURE 
+0

Getting тот же вопрос, на OSX Yosemite с РВМ 1.26.4 –

ответ

0

Я установил это методом проб и ошибок:

Заменив эти строки в .bashrc :

#/var/lib/jenkins/.bashrc 
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting 

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 

И сделать следующие изменения в мой сценарий сборки:

#!/bin/bash 
source $JENKINS_HOME/.bashrc 
rvm use [email protected] 
# Set "fail on error" in bash 
set -e 
# Do any setup 
# e.g. possibly do 'rake db:migrate db:test:prepare' here 
#cp config/database.example.yml config/database.yml 
bundle install 
rake db:schema:load 
rake 
+0

К сожалению, это не работает для меня. –