Сведения о непрерывной интеграции
Непрерывная интеграция (CI) — это программная практика, которая требует частой фиксации кода в общем репозитории. Более частая фиксация кода позволяет быстрее обнаруживать ошибки и сокращает объем кода, который разработчику необходимо отлаживать при поиске источника ошибки. Частые обновления кода также упрощают слияние изменений, полученные от разных участников группы разработчиков программного обеспечения. Это отлично подходит для разработчиков, которые могут тратить больше времени на написание кода и меньше на отладку ошибок или разрешение конфликтов слияния.
При фиксации кода в репозитории можно непрерывно создавать и тестировать его, чтобы убедиться, что фиксация не приводит к ошибкам. Тесты могут включать анализаторы кода (которые проверяют форматирование стилей), проверки безопасности, объем протестированного кода, функциональные тесты и другие пользовательские проверки.
Для создания и тестирования кода требуется сервер. Можно создавать и тестировать обновления локально перед отправкой кода в репозиторий или использовать CI-сервер, который проверяет наличие новых фиксаций кода в репозитории.
Сведения о непрерывной интеграции с использованием GitHub Actions
CI с помощью GitHub Actions предлагает рабочие процессы, которые могут создавать код в репозитории и выполнять тесты. Рабочие процессы могут выполняться на виртуальных машинах, размещенных на GitHub, или на машинах, которые вы самостоятельно разместили. Дополнительные сведения см. в разделе [AUTOTITLE и Использование средств выполнения, размещенных в GitHub](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners).
Вы можете настроить рабочий процесс CI для запуска при возникновении события GitHub (например, при отправке нового кода в свой репозиторий), по заданному расписанию или при возникновении внешнего события с использованием веб-перехватчика репозитория.
GitHub Enterprise Cloud запускает ваши тесты CI и предоставляет результаты каждого теста в запросе на вытягивание, чтобы вы могли видеть, вызывает ли изменение в вашей ветви ошибку. Когда все тесты CI в рабочем процессе пройдены, внесенные вами изменения готовы к рассмотрению членом команды или слиянию. Если тест не пройден, причиной сбоя могло быть одно из ваших изменений.
Когда вы настраиваете CI в своем репозитории, GitHub Enterprise Cloud анализирует код в вашем репозитории и рекомендует рабочие процессы CI на основе языка и фреймворка в нем. Например, если вы используете Node.js, GitHub Enterprise Cloud предложит шаблон рабочего процесса, который устанавливает пакеты Node.js и запускает тесты. Вы можете использовать шаблон рабочего процесса CI, предлагаемый GitHub Enterprise Cloud, настроить предлагаемый шаблон рабочего процесса или создать собственный пользовательский файл рабочего процесса для выполнения тестов CI.
Помимо помощи в настройке рабочих процессов CI для вашего проекта, можно использовать GitHub Actions для создания рабочих процессов на протяжении всего жизненного цикла разработки программного обеспечения. Например, вы можете использовать действия для развертывания, упаковки или выпуска проекта. Дополнительные сведения см. в разделе Написание рабочих процессов.
Определение общих терминов см. в разделе Общие сведения о GitHub Actions.
Шаблоны рабочих процессов
GitHub Enterprise Cloud предлагает шаблоны рабочих процессов CI для различных языков и платформ.
Полный список шаблонов рабочих процессов CI, предлагаемых GitHub в репозитории actions/starter-workflows репозиторий.