2

有一个 Centos 6.6 主机运行 puppet 3.7.5

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

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

rpm 包 codedeploy-agent-1.0-1.751.noarch 中的 PREIN 脚本错误

 ==========================================================================================
  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,因为它可能会破坏 puppet?

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

  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

我意识到这个问题表面上更适合“服务器故障”,但也许“代码部署”不适合生产服务器?

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

4

2 回答 2

4

根据:

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

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

[1] 提示:用于 Centos6 的软件集合 ruby​​200: https ://www.softwarecollections.org/en/scls/rhscl/ruby200/

于 2015-09-28T19:27:49.797 回答
0

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

于 2018-01-09T22:52:05.000 回答