Что такое непрерывная поставка?
Здесь вы будете следовать команде Tailspin, как они обсуждают, как конвейер непрерывной доставки (CD) может помочь им в их предстоящем выпуске.
Команда Tailspin начинает чувствовать себя лучше в процессе сборки. У них есть автоматизированный процесс, выполняемый в Azure Pipelines, что означает, что среда сборки стабильна. Амита сразу же знает, когда ей нужно протестировать артефакт. Она находит меньше ошибок, потому что Энди и Мара начали добавлять модульные тесты и тесты качества кода. Жизнь выглядит хорошо. Давайте узнаем, как дела у команды.
Утреннее собрание
Команда находится в конференц-зале и ждет Ирвина, менеджера по продуктам, который хочет что-то обсудить. Они с нетерпением ждут того, чтобы рассказать ему о своем прогрессе. Но когда Ирвин идет в, он не выглядит счастливым. Он начинает говорить сразу.
Ирвин: У меня была встреча сегодня утром с командой управления. Они хотят знать, почему мы так долго выпускаем наши игры и веб-сайты. Наши ближайшие конкуренты получают новые функции и новые игры там гораздо быстрее, чем мы делаем. Нам нужно ускориться. Я сообщаю это не только вам. Я предупреждаю все команды. Что мы можем сделать, чтобы помочь вашей команде быстрее развернуть?
Энди: Это немного внезапно, но мы немного впереди вас. Мы автоматим, как мы создадим наши веб-сайты. Может быть, пришло время расширить нашу автоматизацию до нашего процесса выпуска.
Ирвин: Как бы вы это сделали?
Мара: мы создали автоматизированный конвейер сборки с помощью Azure Pipelines. Он создает артефакт, который Амита может протестировать. Мы также можем создать конвейер непрерывной доставки (CD).
Ирвин: Что такое конвейер CD?
Мара начинает объяснять, но прерывается, когда мобильный телефон Ирвин сигналов. Ирвин читает текстовое сообщение и бормотает под дыханием.
Ирвин: Мне жаль, но это срочно. Мне нужно идти. Почему вы все не узнаете этот CD бизнес и вернетесь ко мне в ближайшее время?
Энди смотрит на свою команду.
Энди: Кофе?
Энди и остальная часть команды направляются в кафе, чтобы создать план.
Что такое непрерывная поставка?
Команда встречается по кофе, чтобы понять, как настроить рабочий процесс непрерывной доставки.
Энди: Мара, вы можете сказать нам, что вы знаете о непрерывной доставке?
Мара: Для меня CD и DevOps неизменяемы. Как вы помните, мы определили DevOps как объединение профессионалов, процессов и продуктов, обеспечивающее непрерывную поставку решений нашим пользователям.
Cd само по себе представляет собой набор процессов, инструментов и методов, которые обеспечивают быструю, надежную и непрерывную доставку программного обеспечения. Поэтому CD не только о настройке конвейера, хотя эта часть важна. Cd — это настройка рабочей среды, в которой:
- У нас есть надежный и повторяемый процесс для выпуска и развертывания программного обеспечения.
- Мы автоматизируем как можно больше.
- Мы не откладываем делать что-то, что трудно или больно; Вместо этого мы чаще делаем это так, чтобы мы узнали, как сделать его рутиной.
- Мы храним все в системе управления версиями.
- Мы все согласны с тем, что сделано означает, что выпущено.
- Мы создадим качество в процессе. Качество никогда не является замыслом.
- Мы все отвечаем за процесс выпуска. Мы больше не работаем в силосах.
- Мы всегда стараемся улучшить.
Мы уже поставили на место многие из этих идей, и мы все согласны, что они улучшили то, как мы работаем. CD — это расширение того, что мы уже начали.
Зачем мне нужна непрерывная доставка?
CD помогает командам программного обеспечения предоставлять надежные обновления программного обеспечения своим клиентам в быстром темпе. CD также помогает гарантировать, что клиенты и заинтересованные лица имеют новейшие функции и исправления быстро.
Давайте продолжаем слушать в команде, как они говорят об этом.
Энди: Спасибо, Мара. Нам нужен CD, потому что, как мы все знаем, мир изменился. Новые функции выпускаются быстрее. Обновления и исправления ошибок должны быть доступны сразу. Это не только наше управление, которое хочет ускорить наши выпуски. Управление просто реагирует на требования наших клиентов. Если клиенты не могут получить то, что они хотят от нас, они будут идти в другом месте.
Тим: Согласился! Я не могу ждать начала работы.
Энди: Спасибо, все. Я собираюсь предложить, что Мара и я объединил простое доказательство концепции (POC). Я думаю, что все будет гораздо проще понять, если вы можете увидеть конвейер CD в действии.
Амита: Удачи, ты два.
Команда покидает Энди и Мару, чтобы разобраться в деталях.
Как непрерывная доставка сравнивает публикацию правой кнопкой мыши?
Многие средства разработки предоставляют способы публикации приложения непосредственно в определенной целевой среде, например Microsoft IIS (IIS) или Azure. Например, можно опубликовать приложение ASP.NET Core в Azure с помощью Visual Studio. Этот процесс иногда называется публикацией правой кнопкой мыши.
Публикация правой кнопкой мыши — отличный способ быстро создать прототип. Например, вы можете щелкнуть правой кнопкой мыши публикацию приложения в Azure, чтобы поделиться новой идеей с командой. Однако этот метод имеет ограничения.
Непрерывная доставка обеспечивает согласованный способ непрерывного тестирования, развертывания и мониторинга приложения при каждом проверка в коде. Когда вы публикуете приложение щелчком мыши, нет никакой гарантии, что код надлежащим образом протестирован или будет корректно работать в реальных условиях.
В этом коротком видео Abel Wang, защитник облака в Корпорации Майкрософт, объясняет больше.
Как непрерывная доставка сравнивает с непрерывным развертыванием?
В сообществе DevOps можно услышать термины непрерывной доставки и непрерывного развертывания. Означает ли эти термины то же самое? В этом коротком видео Абель объясняет разницу.
Какие средства непрерывной доставки можно использовать?
После собрания Энди и Мара планируют дальнейшие действия. Они используют Azure Pipelines для создания программного обеспечения. Они хотят рассмотреть, какие средства, включая Azure Pipelines, доступны, чтобы помочь им в процессе выпуска.
Мара: Откуда вы хотите начать?
Энди: Во-первых, нам нужно согласиться с нашим средством управления выпусками. Давайте убедимся, что мы выбираем средство:
- Поддерживает нашу систему управления версиями.
- выполнять развертывание в нескольких средах, чтобы мы могли тестировать и проверять результаты нашей работы;
- Упрощает определение задач развертывания.
- Легко расширить.
Мара: Azure DevOps интегрируется с несколькими другими решениями непрерывной интеграции и CD. Многие решения там, и мы не инвестируем в них. Если бы мы были, было бы смысл использовать этот. Популярные системы CI и CD включают Jenkins, Circle CI, GitLab, Travis CI и Azure Pipelines.
Эти средства во многом схожи, но у каждого из них есть свои сильные стороны. Некоторые из этих инструментов открытый код, некоторые из них бесплатны, и некоторые из них должны платить. В них также есть встроенные возможности интеграции с другими программными средствами.
Например, Дженкинс открытый код. Он имеет много подключаемых модулей, и многие компании используют его. Вы можете запустить ci Circle в облаке или локальной среде. Я думаю, что нам нужно было бы настроить его. GitLab — это одно приложение для всего жизненного цикла разработки программного обеспечения. Это может быть больше, чем мы хотим прямо сейчас. Мы можем продолжать использовать Azure Pipelines.
Вот краткое видео, в котором Abel рассказывает об использовании рекомендаций DevOps для развертывания кода в Azure.
Мара: Мое голосование заключается в том, чтобы остаться в Azure Pipelines.
Энди: Я согласен. Azure Pipelines хорошо работал для нас до сих пор, и нам не нужно изучать другую новую технологию.
Мара: Великий. Давайте приступим к работе с подробными сведениями о конвейере.
Энди и Мара переместятся в конференц-зал для планирования конвейера CD.