如何以用户 jenkins 身份安装 rvm?

如何以用户 jenkins 身份安装 rvm?

我正在关注这些步骤在 Ubuntu EC2 实例上设置 Jenkins 服务器。

一切都很好,直到我到达这一步:

在此处输入图片描述

如您所见(在输出的末尾),系统要求我输入 jenkins 用户的密码。据我了解,jenkins 用户不是交互式用户,因此没有正常密码。我错了吗?

ubuntu@ip-xxx-xxx-xxx-xxx:~$ sudo su jenkins
jenkins@ip-xxx-xxx-xxx-xxx:/home/ubuntu$ curl -L https://get.rvm.io | bash -s stable --ruby
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   184  100   184    0     0    257      0 --:--:-- --:--:-- --:--:--   345
100 20572  100 20572    0     0  21776      0 --:--:-- --:--:-- --:--:-- 21776
Downloading https://github.com/wayneeseguin/rvm/archive/stable.tar.gz

Upgrading the RVM installation in /var/lib/jenkins/.rvm/
    RVM PATH line found in /var/lib/jenkins/.bashrc /var/lib/jenkins/.zshrc.
    RVM sourcing line found in /var/lib/jenkins/.bash_profile /var/lib/jenkins/.zlogin.
Upgrade of RVM in /var/lib/jenkins/.rvm/ is complete.

# Jenkins-ci,
#
#   Thank you for using RVM!
#   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.

In case of problems: http://rvm.io/help and https://twitter.com/rvm_io

Upgrade Notes:

  * No new notes to display.


rvm 1.24.7 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]

Searching for binary rubies, this might take some time.
Found remote file https://rvm.io/binaries/ubuntu/12.04/x86_64/ruby-2.0.0-p353.tar.bz2
Checking requirements for ubuntu.
Installing requirements for ubuntu.
jenkins password required for 'apt-get --quiet --yes update':

答案1

看起来 rvm 安装程序正在尝试运行 apt-get 来安装缺少的依赖项,我们可以通过预先安装它们来解决这个问题。尝试以 root 身份运行此程序:

sudo apt-get install curl bison build-essential zlib1g-dev libssl-dev libreadline5-dev libxml2-dev git-core

现在尝试以 Jenkins 用户身份再次运行安装命令。

答案2

这里要求的密码是sudo,这允许安装脚本执行apt-get。您要么自己使用具有 root 权限的用户执行它,要么临时将 jerkins 用户添加到 sudoers 并允许它执行apt-get或为其提供临时密码。这些是我看到的三种方法。

答案3

另一个解决方案是手动下载 ruby​​ 并将其粘贴到 Jenkins 主 .rvm 文件夹的存档文件夹中。Rvm 在尝试下载 ruby​​ 之前会查看那里。据我所知,您只能 su 到 Jenkins 用户,您可能不应该尝试绕过这一点。

相关内容