![如何以用户 jenkins 身份安装 rvm?](https://linux22.com/image/1388713/%E5%A6%82%E4%BD%95%E4%BB%A5%E7%94%A8%E6%88%B7%20jenkins%20%E8%BA%AB%E4%BB%BD%E5%AE%89%E8%A3%85%20rvm%EF%BC%9F.png)
我正在关注这些步骤在 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 用户,您可能不应该尝试绕过这一点。