LINUX.ORG.RU

Виртуализация тестирования и разработки


0

1

Я еще студент и у меня нет опыта программирования в команде. Пишу иногда всякое для веба - и до сегодняшнего дня программировал так: разроботка и тестинг на домашней машине, а потом непосредственный upload на продакшен сервер.

про git/mercurial слышал, но не использовал.

И вот пришло помимание что я делаю что-то не так.

Cитуация - один разробтчик(на машинке-линукс). Hа серверах - linux, freebsd.
Хочу теперь всю  разработку вести на домашней машинке, но в виртуальных машинках, a на сервер загружать через git или mercurial. (проекты в основном на php/python/ruby...)

И у меня вопросы к разработчиком:
1) правильно ли вести разработку в виртуальных машинках?
2) посоветуйте виртуальную машину для разработки(хост - linux, гест - linux&freebsd)
желательно управление виртуалькой через консоль.
3) правильно ли использовать для деплоя(php, python, ruby) системy управления версиями?

правильно, virtualbox, правильно но в основном для разработки, деплой это уже такое, правильно использовать ci но...

trashymichael ★★★
()

1. да

2. qemu-kvm

3. нет

Reset ★★★★★
()

1) правильно ли вести разработку в виртуальных машинках?

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

Виртуалки удобны для тестирования:
1. Перед тестированием очередного билда легко получить ОС в девственно-чистом состоянии, не засранном продуктами тестирования предыдущего билда
2. Если твоя программа может запороть ОС, то хотя бы твой основной рабочий компьютер не пострадает (актуально в случае ПО, работающего от рута, либо на уровне ОС, либо еще что-то подобное)
3. Можно сделать снимок системы в переглючевшем состоянии, и потом исследовать его несколькими разными разрушающими методами поочереди. Снимки особенно удобны в случае трудновоспроизводимых багов. Удобны в случае, когда программу в испорченное состояние приводит один человек (тестировщик), а исследует ее в этом состоянии другой человек (разработчик).

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

s/либо на уровне ОС/либо на уровне ядра/

fixed

Manhunt ★★★★★
()
Ответ на: комментарий от Sosiska

тулзень которая запускает процесс сборки, юнит-тесты, деплой на тестовый сервер.

aldayneko
()

1) правильно ли вести разработку в виртуальных машинках?
Да. Очень удобно.

2) посоветуйте виртуальную машину для разработки(хост - linux, гест - linux&freebsd)
VirtualBox, VMware

3) правильно ли использовать для деплоя(php, python, ruby) системy управления версиями?
Нет, неправильно.

malbolge ★★
()

1) why not? иногда это даже необходимость, если надо затачивать под кучу конфигураций, и нет возможности содержать парк реальных машинок. да и дешевле.
2) vmware + vmrun. (/me, например, рулит машинками vmware из java, и вполне себе ничего. разве что не очень стабильно работает их api)
3) для деплоя, скорее всего, удобно использовать пакеты: либо стандартные целевой системы, либо своего формата. выкатывание сводится к распаковке и раскладке, откат - к распаковке и раскладке прошлой версии пакета. я думаю, простейший вариант такой системы реализовать через пару шеллскриптов или ant - дело несложное. а поскольку разработчик один, то CI ему незачем. :)

zhuravlik ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.