CI/CD Flashcards
Что такое SDLC?
Software Development Life Cicle:
1) Requirement Analisis: анализ конкурентов и проблематики - участвуют топы
2) Planning
3) Design: Архитектура приложение на основе планирования
4) Build: артефакт на выходе
5) Testing: зациклено с п. 4. Unit / Continous (integrational / end-to-end / performance / security(DUST, …))
6) Deployment + Maintenance: разворачивание в среде.
И пошли по кругу.
Что такое Waterfall разработка?
Каскадная модель (англ. waterfall model, иногда переводят, как модель «Водопад») — модель процесса разработки программного обеспечения, в которой процесс разработки выглядит как поток, последовательно проходящий фазы анализа требований, проектирования, реализации, тестирования, интеграции и поддержки.
Что такое CI / CD?
Интерфейс Взаимодействия между командами. Комбинация непрерывной интеграции и непрерывного развёртывания в процессе разработки.
CI - Continuous Integration
CD - Continuous Deployment / Delivery
CI: Build + Test Loop. Гарантирует, что на выходе мы получим протестированный, версионированный и готовый к деплою кусок или весь проект / микросервис.
CD:
-> Acceptance Test: передаем тестировщикам или разворачиваем
на автотестировочном окружении
-> Deploy to Staging (предпродакшн): разворачивание в демо-среде
-> Deploy to Production (Delivery: manual / Deployment: auto)
-> Smoke Tests: небольшие тесты, чтобы убедиться, что приложение уютно легло на среду.
https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbUE0OXk1UEhmMEo0Z2JBVVdlNHVaUG9SQ1VDUXxBQ3Jtc0tudWdvSUJFNElpM2xxbnB2VWVJYUNtMGMyZG44Y0Q0RS1OMERLQXcwcEhaTURXcW1LdmpJUTJXdWRvYlFTeElBQU45b2tXVzFaWENaeGdwaVhyZEVIb3RNdVBjT0laTHZvN2xtaFJUTFlfYXQ3YVAydw&q=https%3A%2F%2Fhabr.com%2Fru%2Fcompany%2Fotus%2Fblog%2F515078%2F&v=Hkq_78xSfSY
Какие есть метрики в CI/CD?
- Lead Time: время от идеи до Deploy to TProduction
- Deployment Frequency: как часто мы доставляем клиентам новые версии приложения
- Deployment Failure Rate: процент ошибочных разворачиваний приложения
- MTTR: Mean Time To Restore / Recover: сколько времени на восстановление системы (откатка продакшна на предыдущую рабочую версию / исправление бага )
Инструменты соблюдения CI/DC
Содержат пайплайны, соответствующие этапам CICD
GitLab CI
GitHub Actions
Genkins
Что такое среда / environment?
https://ru.hexlet.io/blog/posts/environment
Зачем нужен DEVOps?
Чтобы наладить коммуникацию между разработкой, тестированием и сопровождением.