Назад | Перейти на главную страницу

Настройка среды

Моя компания начинает чувствовать, что ее разработчики не на одной волне. то есть некоторые разрабатываются на Windows, некоторые на ubuntu и т.д., а затем код живет на CentOS, и мы начинаем получать проблемы вроде "работает на моей машине ?!" и так далее. мы хотим / должны разработать и развернуть в реплицируемых средах, чтобы сократить количество проблем в день запуска. Мне было любопытно, есть ли у кого-нибудь хорошие практики, как они справляются с этим? мы рассмотрели образы, а затем предоставили всем виртуальные машины, чтобы убедиться, что они могут протестировать все изолированно, по сравнению с одной большой средой разработки, где 3 человека вносят изменения и перезаписывают / ломают код, над которым работают другие. похоже, что подход виртуальной машины может быть не идеальным - мы должны убедиться, что все оборудование способно справиться с этим. Я знаю, что все компании разные, но есть ли идеальный подход к этой проблеме, который можно было бы порекомендовать? или худший сценарий - как вы справитесь с этим? что вы пробовали и что не удалось и что вы пробовали и преуспели?

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

Именно поэтому был создан Vagrant: http://www.vagrantup.com/

Разрабатывайте на той же платформе, на которой вы развертываете, запускайте те же версии пакетов и позволяйте всем фиксировать / извлекать из системы управления версиями. Используйте систему управления пакетами / конфигурациями (марионетку или шеф-повар), и вы золотые.