Как автоматизировать настройку среды разработки? [закрытый]



каждый раз, когда новый разработчик присоединяется к команде или компьютер разработчик использует изменения, разработчик должен сделать много работы, чтобы Настроить локальную среду разработки, чтобы сделать текущий проект работы. Как команда SCRUM мы пытаемся автоматизировать все, включая развертывание и тесты, поэтому я спрашиваю: есть ли инструмент или практика, чтобы автоматизировать настройку локальной среды разработки?



например, чтобы настроить мою среду, сначала мне нужно было установить eclipse, затем SVN, Apache, Tomcat, MySQL, PHP. После этого я заполнил БД, и мне пришлось сделать незначительные изменения в различных файлах конфигурации и т. д... Есть ли способ сократить этот труд до одного клика?

617   14  

14 ответов:

есть несколько вариантов, и иногда сочетание из них полезно:

  • автоматизированная установка
  • инфы
  • виртуализации
  • исходный код

подробная информация о различных вариантах:

  1. Автоматизированная Установка инструменты для автоматизации установки и настройки различных служб, инструментов и конфигураций рабочей станции файлы:

    • кукол имеет кривую обучения, но является мощным. Вы определяете классы машин (окно разработки, веб-сервер и т. д.) и затем он делает то, что необходимо для установки, настройки и поддержания коробки в надлежащем состоянии. Вы попросили один клик, но Puppet по умолчанию является нулевым кликом, так как он периодически проверяет вашу машину, чтобы убедиться, что она по-прежнему настроена по желанию. Он обнаружит, когда файл или режим был изменен, и устранить проблему. Я в настоящее время используйте это, чтобы поддерживать несколько ящиков RedHat Linux, хотя он способен обрабатывать тысячи. (Не поддерживает Windows по состоянию на 2009-05-08).
    • Cfengine еще один. Я видел, как это успешно используется в магазине с 70 инженерами, использующими RedHat Linux. Его ограничения были частью причины для марионетки.
    • SmartFrog - это еще один инструмент для настройки узлов. Он поддерживает Windows.
    • shell-скрипты. RightScale содержит примеры настройки образа Amazon EC2 с помощью сценариев оболочки.
    • установки пакетов. В коробке Unix это можно сделать полностью с пакетами, а в Windows msi может быть опцией. Например, RubyWorks предоставляет вам полный стек Ruby on Rails, все путем установки одного пакета, который, в свою очередь, устанавливает другие пакеты через зависимости.
  2. Образы Дисков затем части конечно, есть и средства формирования образа диска для хранения образа настроенного хоста таким образом, что он может быть восстановлен на другой хост. Как и в случае с виртуализацией, это особенно хорошо для тестовых ящиков, так как легко восстановить все с чистого листа. Постоянно обновлять информацию по-прежнему является проблемой-стоит ли создавать новые изображения только для распространения изменения файла конфигурации?

  3. виртуализации другой например, создание копий образа Xen, VirtualPC или VMWare для создания новых узлов. Это особенно полезно с тестовыми полями, так как независимо от того, какой беспорядок создает тест, вы можете легко восстановить чистое, известное состояние. Как и в случае с инструментами создания образов дисков, для обновления хостов требуется больше ручных шагов и бдительности, чем при использовании автоматического инструмента установки/настройки.

  4. Исходный Код после того, как вы установили/настроили необходимые инструменты, затем выполнение сборки должно заключаться в проверке того, что необходимо из репозитория исходного кода и его создании.

В настоящее время я использую комбинацию выше, чтобы автоматизировать процесс следующим образом:

  • начните с комплектом установки операционной системы на VMware оценки
  • запустите сценарий оболочки, чтобы установить Puppet и получить его конфигурации из управления исходным кодом
  • марионетка для установки инструментов / компонентов / конфигураций
  • проверить файлы из системы управления исходным кодом для создания и развертывания веб-приложение

я наткнулся на этот вопрос и был очень удивлен, что никто не упомянул залетный еще.

Vagrant

как уже упоминал Пит Термаат и другие, виртуализация-это отличный способ управления и автоматизации сред разработки. Бродяга в основном снимает боль от настройки этих виртуальных коробок.

в течение нескольких минут, вы можете иметь совершенно новую копию вашего любимого дистрибутива Linux и работает, и подготовлены точно так же, как на production сервере.

нет больше борьбы с OSX или Windows, чтобы получить PHP, MySQL и т.д. установленный. Все программное обеспечение живет и работает внутри виртуальной машины. Вы даже можете SSH с vagrant ssh. Если вы ошибетесь или сломаете что-то, просто vagrant destroy, и vagrant up начать заново.

Бродяга автоматически создает синхронизируемую папку для вашей локальной файловой системы, то есть вам не нужно развиваться внутри виртуальная машина (т. е. используя Vim). Используйте любой редактор по вашему выбору.

теперь я создаю новую "бродячую коробку" почти для каждого проекта, который я делаю. Все мои настройки сохраняются в репозитории проекта, поэтому легко привлечь другого члена команды. Они просто должны вытащить РЕПО и запустить vagrant up, и они буквально готовы идти.

Это также делает его гораздо легче обрабатывать проекты, которые имеют различные требования к программному обеспечению. Может быть, у вас есть некоторые проекты, которые полагаются на PHP 5.3, но некоторые более новые, которые запускают PHP 5.4. Просто установите версию, которую вы хотите для этого проекта.

зацените!

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

Это означает, что вы также должны проверить вспомогательную инфраструктуру, такую как Makefiles, Ant buildfiles и т. д., и параметры для инструментов, таких как файлы проекта IDE.

Это должно позаботиться о настройке хлопот для отдельных проектов.

для базовой настройки машины можно использовать стандартные изображения. Другой вариант использовать инструменты платформы для автоматизации установки. В Linux вы можете создать мета-пакет, который зависит от всех необходимых вам пакетов. Под Windows, аналогичная вещь должна быть возможна с помощью MSI или тому подобное.

Edit:

В идеале, вместо того, чтобы проверять вспомогательную инфраструктуру, вы проверяете информацию, которая позволяет строить создать вспомогательной инфраструктуры. Это подход, используемый, например, системой сборки GNU (autotools так далее.), или с помощью Maven. Это еще более элегантно, потому что вы можете (теоретически) генерировать инфраструктуру для любой (поддерживаемой) среды сборки, поэтому вы не привязаны, например, к одной конкретной IDE и настройкам в вспомогательной инфраструктуре (пути и т. д.) не нужно дублировать основные настройки проекта.

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

Мне нравится использовать Virtual PC или VMware для виртуализации среды разработки. Это обеспечивает стандартную "среду разработки", которая может быть совместно использована разработчиками. Вам не нужно беспокоиться о программном обеспечении, которое пользователь может добавить в свою систему, которая может конфликтовать с вашей средой разработки. Это также дает мне возможность работать с двумя проектами, где среды разработки не могут одновременно находиться в одной системе (используя две разные версии основной технологии).

использовать кукол для настройки среды разработки и производства. Использование первоклассной системы автоматизации является единственным способом масштабирования ваших операций.

всегда есть возможность использовать виртуальные машины (см. например VMWare Player). Создайте одну среду и скопируйте ее для каждого нового сотрудника с минимальной необходимой конфигурацией.

в предыдущем месте у нас было все (и я имею в виду все) в SCM (clearcase затем SVN). Когда новый разработчик может в них установить ClearCase / SVN и засосал репозиторий. Это также обрабатывает случай, когда вам нужно обновить конкретный lib/инструмент, поскольку вы можете просто заставить команды разработчиков обновить свою среду.

мы использовали два РЕПО для этого, поэтому код и инструменты / конфигурация жили в разных местах.

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

https://github.com/devstructure/blueprint (Blueprint @ Github)

Я сам об этом думал. Есть некоторые другие технологии, которые вы могли бы бросить в микс. Вот что я сейчас настраиваю:

  • предустановленные установочные образы на основе PXE (Debian Squeeze). Вы можете запустить компьютер с голым металлом (или новое виртуальное устройство) и выбрать образ из меню загрузки PXE. Это имеет главное преимущество в том, что вы можете установить свою среду на физических машинах (в дополнение к виртуальным техника.)
  • кто-то уже упоминал кукол. Я использую CFEngine, но это аналогичная сделка. По сути, ваша конфигурация документирована и централизована в файлах политики, которые постоянно применяются агентом на клиенте.
  • если вы не хотите жесткой среды (т. е. разработчики могут выбрать комбинацию наборов инструментов) , вы можете свернуть свои собственные пакеты deb, чтобы новые разработчики могли вводить sudo apt-get install acmecorp-eclipse-env или sudo apt-get install acmecorp-intellij-env, например.
  • немного не по теме, но если вы работаете на Debian на основе среды (т. е. Ubuntu), рассмотреть возможность установки apt-cacher (пакет прокси). В дополнение к экономии пропускной способности, это сделает ваши установки намного быстрее (так как пакеты кэшируются в локальной сети).

Если вы используете OSX и работаете с Rails. Я бы предложил либо:

Если вы используете машины в стандартной конфигурации, вы можете создать образ диска с новой идеально настроенной установкой-это очень популярный подход во многих корпорациях (и не только для разработчиков). Если вам нужны отдельно настроенные ОС, вы можете tar-bz2 все добавленные и измененные файлы после того, как настроенная ОС будет превращена в желаемую настройку, и просто распакуйте ее как root, чтобы сделать желаемую среду с нуля.

Если вы используете вкус linux, у вас, вероятно, есть система управления пакетами: думает .rpm для fedora / redhat, or .deb для ubuntu / debian. многие из вещей, которые вы описываете, уже имеют доступные пакеты: svn, eclipse и т. д. вы можете свернуть свои собственные пакеты для программного обеспечения конкретной компании, создать репозиторий (возможно, только доступный в локальной сети), а затем ваша настройка может быть сведена к одному сценарию bash, который добавит РЕПО компании в /etc/apt/sources.список (debian / ubuntu) а затем вызовите команду типа,


/home/newhire$ apt-get update && apt-get install some complete package list

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

попробуйте DevScript в http://nsnihalsahu.github.io/devscript . Его одна команда, как , devscript lamp или devscript laravel или devscript django . Примерно за несколько минут ,в зависимости от скорости вашего интернета со

вы можете скачать последнюю версию Java JDK с сайта Java Oracle - Java SE Downloads. Вы найдете инструкции по установке JDK в загруженных файлах, следуйте приведенным инструкциям по установке и настройке программы установки. Наконец, установите переменные среды PATH и JAVA_HOME для ссылки на каталог, содержащий java и javac, обычно java_install_dir/bin и java_install_dir соответственно.

если вы используете Windows и установили JDK в C:\jdk1.8.0_102, вы должны были бы поставить следующая строка в вашем .

set PATH=C:\jdk1.8.0_102\bin;%PATH%
set JAVA_HOME=C:\jdk1.8.0_102

кроме того, вы также можете щелкнуть правой кнопкой мыши на моем компьютере, выбрать Свойства, затем дополнительно, а затем Переменные среды. Затем вы обновите значение пути и нажмите кнопку OK.

в Linux, если SDK установлен в /usr/local/jdk1.8.0_102 и вы используете оболочку C, вы бы поместили следующий код в свой .файл cshrc.

setenv PATH /usr/local/jdk1.8.0_102/bin:$PATH
setenv JAVA_HOME /usr/local/jdk1.8.0_102

кроме того, если вы используете Android Studio, то он будет знать автоматически, когда вы установили свой Java. Android IDEs

существует так много сложных технологий, доступных для разработки приложений для android, знакомых технологий, которые в основном используют инструменты следующим образом

Android Studio

Eclipse IDE(Deprecated)

Академии Элизиума обеспечьте тренировку для Андроида, Майкрософт, РЕДХАТ, КЭХ, и VMware с помощью сертифицированных специалистов, имеющих хороший опыт и навыки!--8-->

Comments

    Ничего не найдено.