это методология автоматизации технологических процессов сборки, настройки и развёртывания программного обеспечения
позволяет выстроить конвейер, на котором разработчики, тестировщики и сисадмины работают в едином потоке и вместе отвечают за результат — код, выпущенный в релиздля пользователей
CI - процесс обеспечения процесса непрерывной интеграции
CD - процесс доставки, развертывания
Этапы процесса (Pipeline)
Code
VCS: Git, GitLab, GitHab
Jira
Git Flow, Управление branch
CI
Build Сборка
Maven, SBT
Запускается по Trigger:
push: This workflow is initiated when changes are pushed to the repository
branches: It runs when changes are pushed to the “main” branch
Each container should do one thing and do it well. A few reasons:
There’s a good chance you’d have to scale APIs and front-ends differently than databases.
Separate containers let you version and update versions in isolation.
While you may use a container for the database locally, you may want to use a managed service for the database in production. You don’t want to ship your database engine with your app then.
Running multiple processes will require a process manager (the container only starts one process), which adds complexity to container startup/shutdown.