2011-03-26 11 views
1

다른 밤에 Hudson을 EC2 인스턴스에 올려 놓고 실행하는 데 찌른 것입니다. 오늘 아침까지 제가 만들었던 것에 기초하여 AMI를 만들 때까지 모든 것이 훌륭하고 멋쟁이였습니다. 그렇게하면 내 드라이브의 스냅 샷이 생성됩니다.Jenkins를 시작하는 데 문제가 있습니다

그 후 나는 Jenkins 서버가 실행되고 있지 않다는 것을 깨달았습니다. 물론 충분히, 내 ssh 인스턴스를보고, 나는 연결이 끊어졌습니다. 그래서 다시 로그인 및 Jenkins server을 실행하여 일 최대를 시작하려고이 내가 에러를 가지고 무엇을 :이 설정을 얻을 수있는 walkthrough를 사용 했

/home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:1064:in `escape': can't convert Pathname to String (TypeError) 
    from /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:1064:in `block in loaded_path?' 
    from /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:1063:in `each' 
    from /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:1063:in `find' 
    from /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:1063:in `loaded_path?' 
    from /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require' 
    from /home/ubuntu/.rvm/gems/ruby-1.9.2-p180/gems/httparty-0.6.1/lib/httparty.rb:10:in `<top (required)>' 
    from /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:54:in `require' 
    from /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:54:in `require' 
    from /home/ubuntu/.rvm/gems/ruby-1.9.2-p180/gems/jenkins-0.6.2/lib/jenkins/api.rb:1:in `<top (required)>' 
    from /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:54:in `require' 
    from /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:54:in `require' 
    from /home/ubuntu/.rvm/gems/ruby-1.9.2-p180/gems/jenkins-0.6.2/lib/jenkins.rb:3:in `<module:Jenkins>' 
    from /home/ubuntu/.rvm/gems/ruby-1.9.2-p180/gems/jenkins-0.6.2/lib/jenkins.rb:1:in `<top (required)>' 
    from /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:54:in `require' 
    from /home/ubuntu/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:54:in `require' 
    from /home/ubuntu/.rvm/gems/ruby-1.9.2-p180/gems/jenkins-0.6.2/bin/jenkins:4:in `<top (required)>' 
    from /home/ubuntu/.rvm/gems/ruby-1.9.2-p180/bin/jenkins:19:in `load' 
    from /home/ubuntu/.rvm/gems/ruby-1.9.2-p180/bin/jenkins:19:in `<main>' 

하고 있는지 확인하기 위해 다시에 참조한 뭔가를 놓친 것이지만 꽤 똑바로입니다. 나는 행운도 함께 can't convert Pathname to String에 대한 봤어. 솔직히이 점을 들여다 볼 곳이 어디인지 알지 못합니다. 루비 문제입니까? 울타리? 젠킨스?

다른 유용한 정보가 있으면이 정보를 업데이트하겠습니다.

편집 나는 또한 내가 젠킨스 건물이 있고 잘 그것을 시작할 수 있었다 프로젝트의 작업 공간으로 이동 않았 음을 추가해야합니다. 그 때문에 나는 이것이 루비 문제라고 생각하지 않는다.

편집 2좋아, 그래서 방정식 밖으로 EC2 걸릴하기로 결정하고 우분투 10.10 내 자신의 서버를 가져 왔습니다. 동일한 설정, 모든 것이 훌륭하게 작동했다가 재부팅되었습니다. 이제이 오류가 다시 발생합니다. 이제 우분투가 상대적으로 우습다는 이유로 바보 같은 실수를 저질렀습니다.하지만 다른 누군가가이 문제에 부딪혔을 것입니다.

+0

P. 그것은 얼마나 우스 꽝 스러워요 scrapers 새로운 게시물을 공격하고 구글은 그들을 데리러. 이것을 게시 한 후에 나는 나의 수색을 계속했고 더 많은 정보처럼 보였던 것과의 연결을 발견했다. .. 이것은 다른 하나의 긁힌 자국이었다. 그러나 다른 사이트에 있었다. –

답변

1

긴 이야기 쉬된다 이 솔루션은 Gem을 사용하는 대신 Jenkins를 apt-get로 설치하는 것이 었습니다. Jenkins가 잘못된 버전의 Ruby를보고있는 문제가 발생한 것으로 보입니다.

이 URL은 궁극적으로 내가이 문제를 해결하는 길을 시작 가지고 무엇을 : http://www.ygamretuta.com/2011/03/ruby-installing-ramaze-working-around-cant-convert-pathname-to-string-error/

나는 또한 추가해야하는 켈빈 문제에 이상적인 솔루션을 오류 주위에 저를 찍었을 수도주지 않았다, 둘 다라고 답하지만 .

1

빨리 해결하려면 rubygems를 1.6 이하로 다운 그레이드하십시오. rubygems devs가 파일을 두 번 이상로드하지 않도록 코드를 도입 한 것처럼 보입니다.

def self.loaded_path? path 
    # TODO: ruby needs a feature to let us query what's loaded in 1.8 and 1.9 
    $LOADED_FEATURES.find { |s| 
    s =~ /(^|\/)#{Regexp.escape path}#{Regexp.union(*Gem.suffixes)}$/ 
    } 
end 

다운 그레이드 할 수없는 경우 덜 이상적인 솔루션이 rubygems.rb 그래서

을 편집하는 것입니다 : 당신이 관심이 있다면

, 여기 (레브 dcfba4e1de4c7388425eb5de5066cb5aa9bea6e6에서 https://github.com/rubygems/rubygems.git에서) 문제가되는 코드는

Regexp.escape path 

Regexp.escape path.to_s 
관련 문제