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

Как я могу разработать и отлаживать поваренные книги и рецепты поваров в среде IDE (например, Eclipse)?

Я новичок в рубине и шеф-поваре. Я разрабатывал поваренные книги, фиксировал их, загружал их на Chef Server, а затем развертывал их на клиентском шеф-поваре с изменением роли, за которым следовал "клиент-клиент" на клиенте. Этот процесс медленный.

Как я могу, используя IDE (Eclipse в моем случае), разрабатывать кулинарные книги и иметь возможность отлаживать (устанавливать контрольные точки, просматривать переменные и т.д.) и запускать их без загрузки их на сервер шеф-повара, а затем вытаскивать их обратно с помощью шеф-клиент работает?

  • Я использую Eclipse 3.7 Indigo с "Инструментом Dynamic Language Toolkit - Ruby Development Tools 3.0.0.v20110424-7Z - E_EkMYXO4k101442".
  • Я разрабатываю кулинарные книги Opscode Chef с кодовой страницей шеф-повара 10.x.
  • Я работаю над системой Ubuntu 10.10, которая разрабатывает кулинарные книги для работы на серверах RHEL/Centos 5.
  • Мы запускаем собственный Chef Server (с открытым исходным кодом)
4b9b3361

Ответ 2

Вы можете использовать Eclipse в качестве простого редактора для Cookbook поваров. У вас не будет поддержки IDE и отладки, но некоторые люди, подобные мне, могут в любом случае предпочесть.

Если вы будете использовать Ruby Editor на Eclipse, вы можете получить подсветку синтаксиса для файлов Ruby.rb, но я еще не пробовал этого.

Вы можете сделать любую папку проектом Eclipse (например, chef-repo ИЛИ конкретной cookcook), добавив файл .project внутри:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>PROJECT_NAME</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
    </buildSpec>
    <natures>
    </natures>
</projectDescription>

Затем в Eclipse выберите "Файл" → "Импорт" → "Общие" → "Существующие проекты" в "Рабочая область" и выберите папку, в которую вы добавили файл .project.

Ответ 3

Ответ не так прост, на сегодняшний день у Opscode нет "официального плагина".

Я провел последние несколько вечеров, создавая плагин для шеф-повара для eclipse. Это очень голые кости прямо сейчас, если другие люди проявляют интерес к работе над этим, я мог бы добавить еще больше... На данный момент он делает большую часть того, что мне нужно (создание новых кулинарных книг, добавление рецептов, атрибутов, lwrps и т.д.), в основном я помещаю обертку затмения вокруг инструментов шеф-повара (шеф-повар, берки, кухня, едакритическая и т.д.).

https://github.com/rleibman/chef-eclipse-plugin

У меня нет намерения удалить этот плагин, если только opscode не придумает свои собственные.

Я начал создавать этот плагин с большой помощью из этого урока: https://cvalcarcel.wordpress.com/2009/07/08/writing-an-eclipse-plug-in-part-1-what-im-going-to-do/.

Теперь, сказав все это... если вам удобно с командной строкой, вы можете сделать большую часть того, что вам нужно, с вещами, которые уже есть: создать поваренную книгу с обоими шеф-поварами или шеф-поваром, например:

Шеф-повар порождает поваренную книгу my_cookbook

И затем создайте новый проект ruby ​​в eclipse, открытый для только что созданной вами поваренной книги. После его создания вы можете редактировать рубиновые файлы и т.д. Вы также можете использовать все другие функции шеф-повара (например, рецепт для шеф-повара), чтобы помочь вам начать работу.

Ответ 4

Я стараюсь использовать chef-solo на целевой виртуальной машине. Я проведу репетицию своих кулинарных книг и переадресую локально с шаблоном solo.rb:

path File.expand_path(File.dirname(__FILE__))
cookbook_path "#{File.expand_path(File.dirname(__FILE__))}/cookbooks"
log_level ENV['CHEF_LOG_LEVEL'] && ENV['CHEF_LOG_LEVEL'].downcase.to_sym || :info
log_location ENV['CHEF_LOG_LOCATION'] || STDOUT
verbose_logging ENV['CHEF_VERBOSE_LOGGING']

Настройка log_level для отладки помогает совсем немного, когда вы едете на велосипеде с бегуном.

Ответ 5

Была ли какая-то работа над Kepler и обнаружила, что:

  • Импорт шеф-повара как рубинового проекта обычно терпит неудачу, потому что импортер, похоже, не может распознать специфические для шеф-повара структуры, такие как "кулинарные книги" и т.д. как места для источника. Все, что вы видите, это библиотека интерпретатора ruby.
  • Принудительный импорт рубина для просмотра папок как источника вручную (объявить исходную папку) также не выполняется, потому что код в папке и вложенных папках не отображается
  • Импорт в качестве общего проекта работает с точки зрения отображения всех структур на основе шеф-повара и их кода, но код не распознается как код ruby, и нет никаких синтаксических возможностей.
  • Импортирование в качестве общего проекта, а затем добавление рубинового buildspec и рубиновой природы действительно работает. Все файлы видны, а редактирование с помощью редактора ruby ​​доступно с подсветкой синтаксиса.

Короче говоря, добавьте это:

<buildSpec>
    <buildCommand>
        <name>org.eclipse.dltk.core.scriptbuilder</name>
        <arguments></arguments>
    </buildCommand>
</buildSpec>
<natures>
    <nature>org.eclipse.dltk.ruby.core.nature</nature>
</natures>

Я сомневаюсь, что какая-то отладка и т.д. - не моя цель, поскольку я запускаю Linux, но, по крайней мере, у нас есть достойный редактор и интеграция git!

Для безопасности также скопировал файл .buildpath в расположение проекта... не уверен, что это необходимо. Общее содержимое:

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
  <buildpathentry kind="src" path=""/>
  <buildpathentry kind="con" path="org.eclipse.dltk.launching.INTERPRETER_CONTAINER"/>
</buildpath>

Ответ 6

Для Eclipse Ruby Development Tools, по состоянию на 2015 год 13 мая, нет поддержки поваров повара шеф-повара, однако, если вы захотите, есть запатентованная альтернатива.

RubyMine 7 IDE поддерживает шеф-повар с автозаполнением и для определения стандартных ресурсов шеф-повара и их атрибутов. Ruby Mine основан на Intellij IDEA.

Вместо RubyMine эта функция работает с Intellij IDEA, если вы установите плагин интеграции шеф-повара поверх ruby ​​plugin

Если вы студент или преподаватели, или для обучения или обучения или для проектов с открытым исходным кодом, вы можете подать заявку на бесплатную лицензию.

Ответ 7

Может быть, это уже известно, но в настоящее время мы можем использовать ATOM с дополнительными пакетами по-шеф-поварам, linter-foodcritic, linter-ruby

https://atom.io/