在Centos 6上安装代码部署代理

时间:2015-09-28 14:10:06

标签: ruby puppet rpm aws-code-deploy

有一个Centos 6.6主机运行puppet 3.7.5

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

当我尝试安装Code Deploy Agent时,它说

rpm包中的PREIN scriptlet出错codedeploy-agent-1.0-1.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.
 ==========================================================================================

对于ruby-2.0.x,Centos目录中似乎没有包 我不确定是否安装了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

我意识到这个问题面对它更适合“服务器故障”,但也许“Code Deploy”不适合生产服务器?

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

2 个答案:

答案 0 :(得分:4)

根据:

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/

答案 1 :(得分:0)

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