Как я могу научиться настраивать процесс сборки?
То, чему меня учили в школе, - это все о языках программирования, разработке программного обеспечения, но вряд ли что-нибудь о том, как автоматически создавать программное обеспечение, возможно, с интегрированным модульным тестированием.
Скажите, пожалуйста, как начать обучение настройке процесса сборки для своего проекта?
Если это слишком абстрактно, чтобы иметь какой-либо смысл, я бы добавил, что я использую Python и занимаюсь веб-программированием с Django.
Заранее спасибо.
5 ответов
Я думаю, что этот процесс называется непрерывной интеграцией.
Одним из популярных инструментов для этого является Hudson (см. Hudson с django). Обязательно ознакомьтесь с проектом django-непрерывной интеграции.
Мне нравятся несколько книг прагматичных программистов на эту тему, отправь! и отпустите!, Вместе они учат многим реальным, прагматичным вещам о таких вещах, как системы сборки и о том, как разрабатывать хорошо развертываемые программы.
Если вы делаете это на Java, вы можете проверить Maven. Для этого есть множество обучающих программ:
- Maven за пять минут
- Учебник по Maven: практическое руководство для пользователей Maven 2
- Maven: полное руководство (книга)
Все это подпадает под категорию Принципов разработки программного обеспечения, Философии проектирования программного обеспечения, Управления конфигурацией программного обеспечения и Управления сборкой и выпуском:
- Лучшие практики для управления сборкой и выпуском
- Лучшие практики высокого уровня в управлении конфигурацией программного обеспечения
- Лучшие принципы управления конфигурацией программного обеспечения
Это умеренно вовлеченное поле. После многих лет программирования я все еще изучаю и понимаю новые вещи в области управления сборкой и конфигурацией программного обеспечения.
Для проектов Python вы должны использовать setuptools. В Setuptools есть все, что нужно для упаковки в.eggs, компиляции модулей C, запуска модульных тестов и т. Д. Если вы когда-либо делали "python setup.py [build|install|test]", то вы использовали setuptools,
Хотя это, конечно, не полный ответ на ваш вопрос, я бы очень рекомендовал изучить инструмент make. Я использую его ОЧЕНЬ регулярно, для широкого круга задач, включая (но не ограничиваясь) сборку, тестирование и развертывание программного обеспечения.