【问题标题】:Jenkins not finding bundler but it does via ssh詹金斯没有找到捆绑器,但它通过 ssh
【发布时间】:2014-10-02 18:09:33
【问题描述】:

当我尝试通过 jenkins 构建我的应用时,我得到:

+ whoami
jenkins
+ pwd
/var/lib/jenkins/jobs/staging.app.es/workspace
+ bundle install --path vendor/bundle
/tmp/hudson8350518056963795223.sh: 4: /tmp/hudson8350518056963795223.sh: bundle: not found

但是,如果我通过 ssh 登录到我的服务器并执行以下操作:

sudo su jenkins
cd /var/lib/jenkins/jobs/staging.app.es/workspace
bundle install --path vendor/bundle

完美运行。

我错过了什么????!

我正在使用 RVM。 RVM info 显示:

ruby-2.1.0:

  system:
    uname:       "Linux ip-10-165-49-229 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux"
    system:      "ubuntu/14.04/x86_64"
    bash:        "/bin/bash => GNU bash, version 4.3.8(1)-release (x86_64-pc-linux-gnu)"
    zsh:         " => not installed"

  rvm:
    version:      "rvm 1.25.32 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]"
    updated:      "1 hour 18 minutes 11 seconds ago"
    path:         "/var/lib/jenkins/.rvm"

  ruby:
    interpreter:  "ruby"
    version:      "2.1.0p0"
    date:         "2013-12-25"
    platform:     "x86_64-linux"
    patchlevel:   "2013-12-25 revision 44422"
    full_version: "ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]"

  homes:
    gem:          "/var/lib/jenkins/.rvm/gems/ruby-2.1.0"
    ruby:         "/var/lib/jenkins/.rvm/rubies/ruby-2.1.0"

  binaries:
    ruby:         "/var/lib/jenkins/.rvm/rubies/ruby-2.1.0/bin/ruby"
    irb:          "/var/lib/jenkins/.rvm/rubies/ruby-2.1.0/bin/irb"
    gem:          "/var/lib/jenkins/.rvm/rubies/ruby-2.1.0/bin/gem"
    rake:         "/var/lib/jenkins/.rvm/rubies/ruby-2.1.0/bin/rake"

  environment:
    PATH:         "/var/lib/jenkins/.rvm/gems/ruby-2.1.0/bin:/var/lib/jenkins/.rvm/gems/ruby-2.1.0@global/bin:/var/lib/jenkins/.rvm/rubies/ruby-2.1.0/bin:/var/lib/jenkins/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/rvm"
    GEM_HOME:     "/var/lib/jenkins/.rvm/gems/ruby-2.1.0"
    GEM_PATH:     "/var/lib/jenkins/.rvm/gems/ruby-2.1.0:/var/lib/jenkins/.rvm/gems/ruby-2.1.0@global"
    MY_RUBY_HOME: "/var/lib/jenkins/.rvm/rubies/ruby-2.1.0"
    IRBRC:        "/var/lib/jenkins/.rvm/rubies/ruby-2.1.0/.irbrc"
    RUBYOPT:      ""
    gemset:       ""

【问题讨论】:

    标签: jenkins rvm capistrano bundler


    【解决方案1】:

    我解决了这个添加:

    #!/bin/bash -xl
    

    到 jenkins shell 脚本,它起作用了!

    【讨论】:

      【解决方案2】:

      如果您在某些版本的 Ubuntu 上,它会将 /bin/sh 作为 DASH 而不是 BASH 运行。 #!/bin/bash -xl 可以解决问题或 sudo dpkg-reconfigure dash 然后选择不使用 Dash 如果您在 ubuntu 上遇到问题

      【讨论】:

      • 我的错误如下/var/lib/gems/2.2.0/gems/bundler-1.14.6/lib/bundler.rb:20:in 'replace': Invalid argument - setenv() (Errno::EINVAL)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 2017-09-02
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      相关资源
      最近更新 更多