Непрерывная интеграция - особенности

Ниже приведены некоторые из основных функций или практик непрерывной интеграции.

  • Maintain a single source repository- Весь исходный код хранится в едином репозитории. Это позволяет избежать разброса исходного кода по разным адресам. Такие инструменты какSubversion and Git являются наиболее популярными инструментами для поддержки исходного кода.

  • Automate the build- Сборка программного обеспечения должна выполняться таким образом, чтобы ее можно было автоматизировать. Если необходимо выполнить несколько шагов, инструмент сборки должен уметь это делать. Для .Net MSBuild является инструментом сборки по умолчанию, а для приложений на основе Java у вас есть такие инструменты, какMaven and Grunt.

  • Make your build self-testing- Сборка должна быть тестируемой. Сразу после сборки следует запустить тестовые примеры, чтобы убедиться, что можно провести тестирование различных функций программного обеспечения.

  • Every commit should build on an integration machine- Машина интеграции является сервером сборки, и необходимо убедиться, что сборка выполняется на этой машине. Это означает, что все зависимые компоненты должны существовать на сервере непрерывной интеграции.

  • Keep the build fast- Сборка должна произойти за считанные минуты. Сборка не должна занимать часы, потому что это будет означать, что шаги сборки не настроены должным образом.

  • Test in a clone of the production environment- Среда сборки должна быть по своей природе близкой к производственной среде. Если между этими средами есть огромные различия, то может быть случай, когда сборка может завершиться неудачно в производственной среде, даже если она передается на сервер сборки.

  • Everyone can see what is happening - Весь процесс сборки, тестирования и развертывания должен быть виден всем.

  • Automate deployment- Непрерывная интеграция ведет к непрерывному развертыванию. Абсолютно необходимо убедиться, что сборку легко развернуть в промежуточной или производственной среде.