Установка агента развертывания кода на Centos 6

На хосте Centos 6.6 работает puppet 3.7.5.

Для работы puppet 3.7.5 у меня установлен ruby-1.8.7

Когда я пытаюсь установить агент развертывания кода, он говорит

Ошибка скриптлета PREIN в пакете rpm 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.
 ==========================================================================================

Кажется, в репозиториях Centos нет пакета для ruby-2.0.x. Я не уверен в установке ruby-2.0, так как, возможно, это может сломать марионетку?

Я использовал 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?


person Vorsprung    schedule 28.09.2015    source источник
comment
Вы можете скомпилировать Ruby 2.0 для CentOS 6. Вот как я решил другие проблемы с управлением версиями ruby.   -  person Dan R    schedule 28.09.2015


Ответы (2)


В соответствии с:

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

Агент развертывания кода предназначен только для RHEL7. Если вы используете RHEL/CentOS6, значит, вы находитесь в неподдерживаемой области. Хотя это технически выполнимо [1], если вам нужно спросить здесь, это означает, что это выходит за рамки ваших возможностей. Вероятно, проще перенести ваше приложение на RHEL7.

[1] Подсказка: Коллекция программного обеспечения ruby200 для Centos6: https://www.softwarecollections.org/en/scls/rhscl/ruby200/

person msuchy    schedule 28.09.2015

Агент CodeDeploy должен работать в большинстве разновидностей Linux при условии соблюдения требований к версии ruby. Для агента требуется Ruby >= 2.0, а поскольку YUM в CentOS не поддерживает установку двоичного файла ruby ​​2.x, вам нужно будет скомпилировать и установить его вручную (или добавить репозиторий YUM с требуемым ruby). После установки создайте символическую ссылку на установку в /usr/bin/ruby. Так и должно быть, теперь скрипт установки должен работать.

person broun    schedule 09.01.2018
comment
Первоначальный вопрос сейчас несколько устарел. Главным образом потому, что Centos 7 теперь не просто используется по умолчанию, но в большинстве случаев является логичным выбором для новых развертываний. - person Vorsprung; 10.01.2018