在 Centos 6 上安装 Code Deploy Agent

Installing Code Deploy Agent on Centos 6

有个Centos 6.6主机运行傀儡3.7.5

为了使 puppet 3.7.5 正常工作,我安装了 ruby-1.8.7

当我尝试安装代码部署代理时,它说

rpm 包 codedeploy-agent-1.0-1 中的 PREIN scriptlet 错误。751.noarch

 ==========================================================================================
  AWS CodeDeploy needs Ruby version 2.0.x to be installed for root under /usr/bin/ruby.

  If you have Ruby version 2.0.x installed for other users, please create a symlink
  to /usr/bin/ruby2.0.

  Otherwise please install Ruby 2.0.x for root user.
 ==========================================================================================

Centos 仓库中似乎没有 ruby-2 的软件包。0.x 我不确定是否要安装 ruby-2.0,因为它可能会破坏人偶?

我已经使用 rvm 在测试机器上管理 ruby 版本,但它似乎需要很多我不想在生产系统上安装的工具 这是我添加的用户数据脚本,使 ruby-2.0 在 6.6 系统上与 rvm 一起工作

  gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A170311380
4BB82D39DC0E3
  curl -L get.rvm.io | bash -s stable --ruby
  source /usr/local/rvm/scripts/rvm
  ln -s `which ruby` /usr/bin/ruby2.0
  /usr/local/aws/bin/aws s3 cp 's3://aws-codedeploy-eu-west-1/latest/install' .
  chmod 0775 install
  ./install auto

我意识到这个问题表面上更适合 "server fault" 但也许 "Code Deploy" 不适合生产服务器?

有什么建议吗?例如,将 rvm ruby 转换为 rpm 是否容易?

根据:

http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-run-agent.html

代码部署代理仅适用于 RHEL7。如果您使用的是 RHEL/CentOS6,那么您处于不受支持的领域。虽然这在技术上是可行的 [1],但如果您必须在这里询问,则表明它超出了您的能力范围。将您的应用程序迁移到 RHEL7 可能更容易。

[1]提示:Centos6软件合集ruby200: https://www.softwarecollections.org/en/scls/rhscl/ruby200/

只要满足 ruby 版本的要求,CodeDeploy 代理应该可以在大多数 linux 风格中工作。该代理需要 Ruby >= 2.0,并且由于 CentOS 上的 YUM 不支持安装 ruby 2.x 二进制文件,您将需要手动编译和安装它(或添加具有所需的 YUM 存储库ruby)。安装后,在 /usr/bin/ruby 中创建安装的符号链接。应该是这样,安装脚本现在应该可以工作了。