Решён
Объясните простыми словами, что такое CI/CD

Мастер Кубернетес DevOps и CI/CD
13k
4

Постоянно встречаю термин CI/CD в вакансиях и статьях про разработку. Гуглил, но все объяснения какие то заумные с кучей терминов.

Можете объяснить простым языком что это такое, зачем нужно и как работает? Желательно на примере чтобы было понятно.

Решение
123
Эксперт • 1 ответ

CI (Continuous Integration) - непрерывная интеграция. Это когда разработчики каждый день (или даже по несколько раз в день) заливают свой код в общий репозиторий, и система автоматически проверяет: не сломал ли новый код то, что уже работало. Запускаются тесты, проверки стиля кода и тд.

CD (Continuous Delivery/Deployment) - непрерывная доставка/развертывание. Это следующий шаг после CI. Когда код прошел все проверки, система автоматически деплоит его на сервер (или готовит к деплою).

Простой пример:
Раньше (без CI/CD): программист написал код, через неделю залил его в общий проект, оказалось что он конфликтует с кодом коллеги, потом еще неделю разбирались, потом вручную заливали на сервер, что то сломалось, откатывали обратно. Хаос.

Теперь (с CI/CD): программист написал кусок кода, нажал кнопку "отправить". Система автоматом прогнала тесты, проверила что ничего не сломалось, и сама залила код на боевой сервер. Все за 10 минут без участия человека.

Инструменты: GitLab CI, Jenkins, GitHub Actions, CircleCI.

Аватар Мастер Кубернетес

Огромное спасибо! Наконец то понятное объяснение без воды.

67
Эксперт • 1 ответ

Представь конвейер на заводе. Рабочий делает деталь, она едет по ленте, автоматы ее проверяют (размер, вес, качество), если все ок - деталь сама упаковывается и отправляется на склад.

CI/CD это тот же конвейер, только для кода. Написал код - он автоматом проверился - автоматом выложился на сайт. Без ручной работы.

19
Эксперт • 1 ответ

CI - когда каждый коммит триггерит пайплайн с тестами
CD - когда после успешного билда артефакты деплоятся в окружение

Вот и все объяснение. Остальное детали реализации.

0
Участник • 1 ответ

Это автоматизация процесса тестирования и доставки программного обеспечения от разработки до продакшн-среды посредством использования специализированных инструментов оркестрации и контейнеризации приложений.

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.