在Centos 6上安装Code Deploy Agent



Centos 6.6主机运行puppet 3.7.5

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

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

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

 ==========================================================================================
  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在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

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

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

根据:

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

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

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

CodeDeploy代理应该在大多数linux版本中工作,只要满足ruby版本的要求。代理需要Ruby>= 2.0,因为CentOS上的YUM不支持安装Ruby 2。您需要手动编译并安装它(或者添加一个包含所需ruby的YUM存储库)。安装完成后,在/usr/bin/ruby中创建安装的符号链接。这应该是它,安装脚本现在应该工作。

最新更新