VCS как основа разработки ПО
В процессе разработки программного обеспечения система контроля версий (Version Control System) является «единым источником правды».
В ней хранится код и описание инфраструктуры, то есть всё, что необходимо для автоматической сборки и выкатки приложения. Так как нужную информацию мы можем взять из VCS, нам не нужно идти в другие системы, чтобы что-то узнать о процессе сборки или настройках конфигурации.
Если же случится авария, из VCS мы легко всё восстановим. Кроме того, системы контроля версий разрабатывались специально для обеспечения командной работы. В результате VCS позволяют вести разработку независимо друг от друга, обмениваться кодом, объединять наработки.
Так что же такое VCS?
Сегодня можно с уверенностью сказать, что VCS — это фундамент разработки программного обеспечения, так как весь процесс сборки, тестирования и деплоя начинается с коммита. По сути, именно с VCS и начинается процесс непрерывной поставки ПО.
Вдобавок к этому, VCS является основой для многих DevOps-практик. Например, в виде кода можно описать метрики мониторинга, дашборды, скрипты сборки и так далее — то есть всё, что нам необходимо для быстрой сборки и выкатки приложения, получения ранней обратной связи, обмена знаниями о приложении и инфраструктуре между инженерами.
Практическая польза VCS
Благодаря системе контроля версий значительно повышается удобство, эффективность и безопасность разработки. Судите сами: — упрощается совместная работа и взаимодействие друг с другом: механизм ветвления (branch) позволяет вести работу, не мешая друг другу, а механизм слияния (merge) позволяет относительно легко объединять наработки всех инженеров; — сохраняется полная история проекта (можно всегда посмотреть его развитие и отследить, кто, когда и зачем вносил изменения в код); — можно легко откатиться к предыдущей версии ПО (допустим, программист некорректно исправил баг, что привело к критической ошибке приложения, а самый простой и быстрый способ решить проблему — задеплоиться из той точки, где всё работало).
Чтобы ощутить всю пользу системы контроля версий, важно придерживаться определённых правил и понимать, как происходит разработка кода в VCS. Этому вы можете научиться на курсе «DevOps: практики и инструменты». Будем рады видеть вас в числе студентов!
Есть вопросы? Пишите комментарий!