Я не знаю, действительно ли это место, чтобы спросить об этом, но я борюсь с «лучшими практиками», когда дело доходит до ворчания и развертывания. Моя команда использует битбакет для размещения репозиториев и rackspace в качестве серверов.Развертывание Grunt с Git
Я использую grunt для создания моего сайта в статические файлы (скомпилирование ejs/less в статические html/css). У меня есть черновой Dev с часовыми задачами и хрюкать прод, который делает все оптимизации/минификацию и т.д.
На данный момент процесс развертывания:
1) хрюкать прод
2) мерзавец фиксация/мерзавец толчок
3) отправить запрос нагрузочного в BitBucket, объединить код в мастер
4) SSH в сервере и мерзавец тянуть.
Это гарантирует, что все, что у меня есть на сервере, является git commit и было просмотрено. Одна из проблем, с которыми я столкнулся, иногда забываю запустить grunt prod перед тем, как совершить сделку, а затем в конечном итоге с неоптимизированным сайтом.
Я изучил использование метода ssh для развертывания, в основном FTP-файлы после запуска grunt prod. Это позволит исключить шаг ssh в сервер и знать команды. Я обеспокоен тем, что этот метод может не синхронизироваться с git и избегать этапа просмотра кода/запросов на передачу.
Я думаю, что я нахожусь на пороге правильного поведения, но чувствую, что мне что-то не хватает!
Любые советы? Благодаря
Я твердо убежден, что распространяемые файлы должны оставаться вне контроля версий. Вы думали о том, чтобы перевернуть вещи и передать только * исходные * файлы в Git, а затем использовать Grunt в качестве инструмента развертывания для проверки, сборки и развертывания ваших файлов? Таким образом, весь ваш конвейер развертывания автоматизирован, и невозможно пропустить шаг или зафиксировать неправильные файлы. –
Спасибо @AntP за быстрый ответ! Я это рассмотрел, но мне не удалось обвести голову, как это сделать правильно. Можете ли вы подробнее рассказать о том, что вы предлагаете? – raydeneg