Подтвердить что ты не робот

Рейк против Тора для сценариев автоматизации?

Я хочу автоматизировать такие вещи, как:

  • Создание нового приложения Ruby on Rails с предварительно выбранной базой данных, Git инициализировать его, создать проект Heroku, зафиксировать все файлы и т.д.
  • Загрузите все файлы в папку на другой компьютер через SSH, но не перезаписывайте файлы.
  • Обновите Ubuntu, установите все базовые пакеты через apt-get.

Из того, что я понимаю, для этого нужны инструменты Rake и Thor, которые я должен использовать?

Рейк мне кажется более де-факто и популярным. Я слышал, как люди рекомендуют Тор.

Как они выдерживают друг друга в результате?

4b9b3361

Ответ 1

Рейк и Тор используют разные цели.

Rake - это общий инструмент сборки script, который зависит от проекта. Другими словами, вы помещаете свой файл rakefile в свою папку проекта и в исходный элемент управления проектом, и вы можете создавать, создавать и выполнять другие задачи автоматизации, характерные для вашего проекта, в этом файле rake. Rake требует запуска файла rake.

Thor - это инструмент командной строки командной строки общего назначения, который упрощает повторное использование скриптов во многих проектах, а также для настройки проекта и т.д., как вы предлагаете. Thor позволяет "установить" исполняемый файл script, который вы можете вызывать из любой точки вашей системы, подобно вызовам "ruby", "gem" или "rake". Тем не менее, скрипты Thor больше подходят для общего назначения, кросс-прикладная автоматизация, потому что Thor script не полагается на файл, сидящий в вашей папке, специфичной для вашего проекта. Thor script - это весь script, упакованный и установленный для повторного использования в любом месте.

В соответствии с вашими заявленными потребностями вам лучше использовать Thor, потому что вы сможете установить script в одном месте и работать в любом месте вашей системы. Вы не будете привязаны к тому, где находится файл рейка или что-то в этом роде.

Кстати, Rails 3 использует Thor для почти всего, что не связано с проектом. У вас все еще есть файл Rake, и вы все еще запускаете такие вещи, как "rake db:migrate" или "rake test:units". Thor используется для таких вещей, как "rails new ...", "rails server" и "rails generate ...". Использование Thor AND Rake в Rails 3 является прекрасной иллюстрацией того, где каждый из этих инструментов лучше всего подходит.

Ответ 2

Для настройки работы Ubuntu шеф-повар может быть лучшим вариантом.

Со своего веб-сайта:

Chef - это платформа для интеграции систем с открытым исходным кодом, созданная для обеспечения преимуществ управления конфигурацией сервера для всей инфраструктуры.

Это написано на Ruby, и есть тонны рецептов/кулинарных рецептов шеф-повара. Chef будет работать с настройкой Ubuntu и установкой пакетов, серверов и т.д.

Я не знаю, работаете ли вы с виртуальными машинами, но Vagrant настроит виртуальную машину, а затем с помощью шеф-повара настроит ее.

Ответ 3

Я бы пошел с puppet.

Кстати, может быть vagrant полезен для вас?

Ответ 4

Здесь есть что-то важное.

http://guides.rubyonrails.org/generators.html в разделе 8 "Шаблоны приложений".

Вы можете выполнить команды git, выбрать gems, capify project.

И вы также можете выполнить системные команды для удовлетворения своей последней точки: Upgrade Ubuntu, install all basic packages through apt-get.