有一个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很容易吗?
答案 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中创建安装的符号链接。应该是这样,安装脚本现在应该可以工作。