Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Захватывающая аркада-лабиринт по мотивам культовой игры восьмидесятых. Управляйте желтым человечком, ешьте кексы и постарайтесь не попадаться на глаза призракам.

Пикман

Аркады, На ловкость, 2D

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
10
dimitrypikabu
dimitrypikabu
1 год назад
Лига Новых Технологий

CI/CD: от теории к практике - реальный пример успешного внедрения⁠⁠

В этой статье я расскажу вам о концепции CI/CD, которая является неотъемлемой частью современной разработки программного обеспечения.

Сегодня порассуждаем про концепцию CI/CD, которая ныне на пике популярности в разработке софта.

CI/CD: от теории к практике - реальный пример успешного внедрения Agile, DevOps, Автоматизация, Тестирование, Управление проектами, IT, Карьера, Длиннопост

Также найти  множество интересной и полезной информации вы можете на канале Самоучки IT (Управление проектами) https://t.me/+NfVrLMxdKS0yNDNi

CI/CD - это Continuous Integration, Continuous Delivery - непрерывная интеграция, непрерывная поставка. Это одна из DevOps-практик, которая также относится к Agile-подходу. Автоматизация развёртывания позволяет разработчикам сфокусироваться на реализации бизнес-требований, качестве кода и безопасности.

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

Многие ошибочно думают, что CI и CD - разные процессы. Но на самом деле они связаны как матрёшки. Внутри - непрерывная интеграция, снаружи - непрерывная доставка. Основная их цель - увеличить стабильность выпусков и ускорить весь этот процесс.

Давайте по-полочкам разберём этапы CI/CD цикла:

  • Код . На этом этапе идёт написание кода, покрытие его тестами, commit и push в систему контроля версий

  • Сборка. Система вроде Jenkins автоматически собирает ваши изменения и запускает их тестирование.

  • Тестирование. После успешного прохождения автоматических тестов изменения отдаются на ручное тестирование.

  • Релиз. После того, как команда тестировщиков проверила все изменения, у нас получается стабильная версия продукта – релиз-кандидат.

  • Деплой. Релизную ветку мы загружаем и разворачиваем на продакшен-сервере клиента.

  • Мониторинг. Следим за развёрнутой версией продукта и в случае проблем стабилизируем её или фиксим.

  • Планирование. Планирование новой функциональности или внесение изменений для будущих релизов.

Теперь разберем, как CI/CD помогает автоматизировать эти шаги.

Непрерывная интеграция — это автосборка и тестирование всего кода в общем репозитории после слияний. Команды часто используют feature flags или ветки для контроля готовности функционала. CI позволяет выявлять проблемы до деплоя кривого кода на прод.

На этапе сборки упаковываются все компоненты ПО и БД. Запускаются модульные, функциональные, регрессионные тесты и другие виды тестов для проверки стабильности. Это непрерывное тестирование - важная часть CI/CD.

Следующий этап - непрерывная поставка. Тут автоматизируется процесс подготовки релиза к деплою после CI. Настраиваются параметры окружений, выполняются необходимые запросы для перезапуска сервисов и т.д. DevOps команда берет протестированный релиз и выполняет все действия для деплоя на проде в пару кликов.

Финальный шаг - непрерывное развертывание (CD). Он включает все предыдущие шаги и суть его в том, чтобы развернуть изменения программиста в продакшене без дополнительных действий. Но для этого в команде должна быть культура мониторинга, чтобы в случае проблем можно было оперативно откатить изменения.

Ещё один важный момент - CI/CD конвейеры широко используются с Kubernetes и бессерверными архитектурами. Контейнеры позволяют стандартизировать упаковку, упрощают масштабирование окружений. А бессерверные вычисления типа AWS Lambda интегрируются в конвейеры через плагины.

В компаниях, где CI/CD внедрён, часто улучшаются ключевые DevOps метрики: частота деплоев, lead time для изменений, время восстановления после инцидентов. Но для этого нужно наладить весь процесс по методологии DevOps.

В общем, CI/CD - мощная практика для автоматизации разработки и деплоев. Команда разработчиков просто пишет код, а остальные шаги в конвейере выполняются на автомате. Такой подход экономит время и обеспечивает стабильность ПО.

А чтобы все это не было просто сухой теорией, расскажу реальный кейс из жизни.

Однажды мне довелось поработать в одной прогрессивной конторе, где CI/CD был поставлен на самом деле очень грамотно.

Команда разработчиков активно писала код в feature branches регулярно создавая pull request, для слияния изменений в мастер-ветку. После каждого такого merge автоматически запускался конвейер CI. Система типа Jenkins забирала новый код, собирала приложение, гоняла batch -тестов - юнит, интеграционные, регрессионные. Все это не занимало больше 10 минут.

Если все тесты проходили успешно, включался следующий этап - непрерывная поставка. Сборка артефактов, подготовка всех зависимых сервисов, настройка тестовых окружений — все это выполнялось автоматически конвейером. Разве что DevOpsы мониторили процесс на предмет ошибок.

Но самое крутое начиналось дальше. После успешной поставки в тест-окружения запускалась финальная стадия - непрерывное развёртывание. Конвейер автоматически деплоил собранную версию на продакшен сервера, обновлял контейнеры, переключал трафик, и свежая фича становилась доступной всем пользователям!

Согласитесь, это было очень круто - от написания строчки кода до релиза проходило всего минут 30 максимум, если все шло штатно. При этом человеческое вмешательство требовалось только на самом старте - commit изменений. Остальным занималась магия CI/CD.

Плюс в углу офисной площадки красовался большой ТВ-экран, где транслировался статус всех активных сборок и деплоев - кто закоммитил (committed), на какой стадии идёт процесс, есть ли ошибки. Так что любой мог присмотреться если что пошло не так.

В общем, навороченный CI/CD конвейер сильно упрощал жизнь разработчикам и DevOpsам, позволяя много времени сэкономить на рутинных задачах поставки кода на прод. Да и со стабильностью системы не было никаких проблем благодаря повсеместному тестированию. Так что если доведёте CI/CD до ума, то только в плюсе будете!

Ну что? Я надеюсь, теперь у вас более-менее все встало на свои места с этой концепцией. Оставляйте свои мнения и кейсы в комментах.  Будем продолжать разбираться в крутых IT-темах на канале Самоучки IT(Управление проектами)https://t.me/+NfVrLMxdKS0yNDNi

Показать полностью
[моё] Agile DevOps Автоматизация Тестирование Управление проектами IT Карьера Длиннопост
7
Mishabox
Mishabox
1 год назад

Джун VS Сеньор: противостояние века или как?⁠⁠

Джун в production - это страшный сон любого сеньора. Вообще, между нами говоря, джуны в продакшн попадать и не должны, но далеко не все проекты предусматривают наличие таких роскошных условий и ресурсов, чтобы нет-нет, да и не понадобилось бы джуна припахать к финальной доработке.

И вот тут уже появляются мифы, легенды и, конечно же, многочисленные мемы.

Но, как делится с нами наш тим-лид Илья, лично на его практике ему еще не попадался ни один сеньор, который бы не сломал, лего и играючись, весь production словно карточный домик.

Угадайте, сколько раз прилетало бедным джунам? Статистика хоть и не 100%, но достаточно удручающая.

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

Но, как говорится, мем смешной, а ситуация - страшная. А еще больше мемов, а заодно и их задушевные разборы и обсуждения, вы можете найти здесь - https://www.youtube.com/watch?v=0dyVEE9jqU4&list=LL&index=12&t=21s.

[моё] DevOps IT Видео YouTube
4
Mishabox
Mishabox
1 год назад

Как DevOps-инженеру не стать “примером как не надо”⁠⁠

Сегодня наш топовый тимлид любезно согласился поделиться с нами своим мнением на тему того, кто, в его понимании, специалисты высокого класса.

Понятное дело, что такое звание абы кому не дадут. И невозможно стать DevOps, просто посмотрев ролик на YouTube; научившись запускать хром в докере на компьютере или ноуте; отправив в гит свою “домашнюю” папку с мемами с котятами.

Как же тогда понять, что ты уже выше простых смертных-админов и паришь в DevOps-небесах?

Квалификация именно опытного инженера - это многолетний опыт. В частности, выстроенный, в буквальном смысле, потом и кровью.

Так, в нашей DevOps-команде, состоят только те инженеры, в которых мы уверены на все 200% процентов. И для того, чтобы принять их под крылом InfoScale потребовалось не раз проверить их способности мыслить и выстраивать логические цепочки, наличие технического кругозора и реального опыта.

[моё] DevOps IT Текст
8
Mishabox
Mishabox
1 год назад

Почему микросервисы - не панацея⁠⁠

Как то раз нам попался довольно интересный кейс. В чем был основной интерес: он достался нам не просто с 0, а после работы над ним другого DevOps. Мы не будем пускаться в долгую критику коллеги, но просто скажем, что…там было все достаточно интересно.

Микросервисы - это прекрасно, чудесно и удобно. Еще бы: разбиваешь все на запчасти и засовываешь в контейнеры. Особенно классно, когда одну здоровенную программу получается разложить на множество отдельных небольших компонентов, каждый из которых можно рассматривать и развивать по отдельности. И это классно!

Но во всем надо знать меру, в конце концов! Вот тот самый DevOps ее явно не знал. И программа в итоге напоминала лего-набор без инструкции.

Конечно, нам удалось разобраться и собрать все в нормально функционирующую конструкцию. Кстати, стоит отметить, что микросервисная структура - это не всегда именно про контейнеры. Просто иногда такая упаковка максимально “экологична”.

А завершить сегодняшний пост хотелось бы такой прикольной переозвучкой, которая попалась нам на YouTube:

- А у вас есть kubernetes?

- Да, конечно, ну как у всех! Как полагается.

- А зачем?

- Ну как это зачем? Это же…

И дальше, что логично, бедный разочарованный DevOps идет просто биться головой о стену.

[моё] DevOps IT Текст
5
makasin4ik
makasin4ik
1 год назад

Opsы...⁠⁠

Все знают значение этих терминов? А это ИТ :) - все еще хотите войти в ИТ? :) Я, признаюсь, ~60% терминов не знаю что значит, хотя мы в ИТ зарабатываем (получается, что мы профи) :) Какая-то светлая муть...

DevOps

AlOps

BizOps

ChatOps

ClickOps

CloudOps

DataOps

DevSecOps

FinOps

HROps

ITOps

LegalOps

LLMOps

MLOps

NoOps

RevOpS

SysOps

Русский ИТ бизнес (https://t.me/bezsmuzi)

[моё] IT Telegram (ссылка) DevOps Технические термины Интернет Текст
2
2
Stravnik
Stravnik
1 год назад

Step 7: Основы SQL для DevOps⁠⁠

Ниже идет реклама и ссылки.

В данном видео я рассказываю о SQL.

Полезные ссылки:
YouTube канал: https://www.youtube.com/@MainDevOps
Telegram канал: https://t.me/devops_spb_ru
Telegram чат: https://t.me/devops_im

Показать полностью
[моё] Гайд IT SQL DevOps Видео YouTube Telegram (ссылка) YouTube (ссылка)
0
0
Stravnik
Stravnik
1 год назад

Step 6: Управление конфигурациями, Ansible⁠⁠

Ниже идет реклама и ссылки.

В данном видео я рассказываю о подходе "Инфраструктура как код".

Полезные ссылки:
YouTube канал: https://www.youtube.com/@MainDevOps
Telegram канал: https://t.me/devops_spb_ru
Telegram чат: https://t.me/devops_im

Показать полностью
[моё] Гайд IT DevOps Видео YouTube
0
2
Stravnik
Stravnik
1 год назад

Step 5: Работа с Docker⁠⁠

Ниже идет реклама и ссылки.

В данном видео я рассказываю о подходе "Инфраструктура как код".

Полезные ссылки:
YouTube канал: https://www.youtube.com/@MainDevOps
Telegram канал: https://t.me/devops_spb_ru
Telegram чат: https://t.me/devops_im

Показать полностью
[моё] Гайд IT Курс DevOps Видео YouTube
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии