~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 0C49BBE5EF9ACF300934EC2203489815__1718565240 ✰
Заголовок документа оригинал.:
✰ Continuous delivery - Wikipedia ✰
Заголовок документа перевод.:
✰ Непрерывная доставка — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Continuous_delivery ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/0c/15/0c49bbe5ef9acf300934ec2203489815.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/0c/15/0c49bbe5ef9acf300934ec2203489815__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 09:24:17 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 16 June 2024, at 22:14 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Непрерывная доставка — Википедия Jump to content

Непрерывная доставка

Из Википедии, бесплатной энциклопедии

Непрерывная поставка ( CD ) — это подход к разработке программного обеспечения , при котором команды производят программное обеспечение в короткие циклы, гарантируя, что программное обеспечение может быть надежно выпущено в любое время. [1] [2] Его цель — создание, тестирование и выпуск программного обеспечения с большей скоростью и частотой. Такой подход помогает сократить затраты, время, [ нужна цитата ] и риск внесения изменений из-за возможности дополнительных обновлений работающих приложений. Для непрерывной доставки важен простой и повторяемый процесс развертывания.

Принципы [ править ]

Непрерывная доставка учитывает распространенное понятие конвейера развертывания. [3] как тощий Пока-Йоке : [4] набор проверок, через которые должна пройти часть программного обеспечения на пути к выпуску . Код при необходимости компилируется, а затем упаковывается сервером сборки каждый раз, когда изменение фиксируется в репозитории системы контроля версий , а затем тестируется с помощью ряда различных методов (возможно, включая ручное тестирование), прежде чем его можно будет пометить как готовый к выпуску.

Разработчикам, привыкшим к длительному циклу разработки, возможно, придется изменить свое мышление при работе в среде компакт-дисков. Важно понимать, что любая фиксация кода может быть передана клиентам в любой момент. Такие шаблоны, как переключение функций, могут быть очень полезны для раннего принятия кода, который еще не готов к использованию конечными пользователями. Использование NoSQL может исключить этапы миграции данных и изменения схемы, часто выполняемые вручную или исключения из рабочего процесса непрерывной доставки. [5] Другие полезные методы изолированной разработки кода, такие как ветвление кода , не устарели в мире CD, но должны быть адаптированы к принципам CD - например, выполнение нескольких долгоживущих ветвей кода может оказаться непрактичным, поскольку освобождаемый артефакт должен быть построен на ранней стадии процесса CD из одной ветки кода, если он должен пройти через все этапы конвейера. [ нужны разъяснения ]

Конвейер развертывания [ править ]

Непрерывная доставка осуществляется через конвейер развертывания. Цель конвейера развертывания состоит из трех компонентов: прозрачность, обратная связь и постоянное развертывание. [6]

  • Видимость . Все аспекты системы доставки, включая сборку, развертывание, тестирование и выпуск, видны каждому члену команды, что способствует сотрудничеству.
  • Обратная связь . Члены команды узнают о проблемах как можно скорее, когда они возникают, чтобы иметь возможность исправить их как можно быстрее.
  • Постоянное развертывание . Благодаря полностью автоматизированному процессу вы можете развернуть и выпустить любую версию программного обеспечения в любой среде.

Инструменты/типы инструментов [ править ]

Непрерывная поставка требует автоматизации от системы управления исходным кодом до всего процесса производства. Существуют различные инструменты, которые помогают выполнить весь или часть этого процесса. [7] Эти инструменты являются частью конвейера развертывания, который включает непрерывную доставку. К типам инструментов, выполняющих различные части процесса, относятся: непрерывная интеграция , автоматизация выпуска приложений , автоматизация сборки , управление жизненным циклом приложений . [8]

Архитектура для непрерывной поставки [ править ]

Чтобы эффективно осуществлять непрерывную доставку, программные приложения должны соответствовать набору архитектурно значимых требований (ASR), таких как возможность развертывания, модифицируемости и тестируемости. [9] Эти ASR требуют высокого приоритета, и ими нельзя легкомысленно обмениваться.

Микросервисы часто используются при проектировании непрерывной доставки. [10] Использование микросервисов может повысить возможности развертывания и модификации программной системы. Наблюдаемые улучшения в области развертывания включают в себя: независимость развертывания, сокращение времени развертывания, упрощение процедур развертывания и развертывание с нулевым временем простоя. Наблюдаемые улучшения модифицируемости включают в себя: более короткое время цикла для небольших дополнительных функциональных изменений, более простой выбор технологии, дополнительные изменения атрибутов качества, а также более простые обновления языка и библиотеки. [10]

Реализация и использование [ править ]

Оригинальная книга на компакт-диске, написанная Джезом Хамблом и Дэвидом Фарли (2010), популяризировала этот термин; однако с момента своего создания определение продолжало развиваться и теперь имеет более развернутое значение. Сегодня компании внедряют эти принципы непрерывной доставки и лучшие практики. Разница в доменах, например медицина и Интернет, по-прежнему значительна и влияет на реализацию и использование. [11] В число известных компаний, применяющих такой подход, входят Yahoo! , [12] Амазонка , [13] Фейсбук , [14] Google , [15] Пэдди Пауэр [1] и Уэллс Фарго . [16]

Преимущества и препятствия [ править ]

Сообщалось о нескольких преимуществах непрерывной доставки. [1] [11]

  • Ускоренное время вывода на рынок . Непрерывная доставка позволяет организации быстрее доставлять клиентам бизнес-ценность, присущую новым выпускам программного обеспечения. Эта возможность помогает компании оставаться на шаг впереди конкурентов.
  • Создание правильного продукта. Частые выпуски позволяют группам разработчиков приложений быстрее получать отзывы пользователей. Это позволяет им работать только над полезными функциями. Если они обнаруживают, что функция бесполезна, они не тратят на нее дополнительных усилий. Это помогает им создавать правильный продукт.
  • Повышение производительности и эффективности. Значительная экономия времени разработчиков, тестировщиков, инженеров по эксплуатации и т. д. за счет автоматизации.
  • Надежные выпуски. Риски, связанные с выпуском, значительно снизились, а процесс выпуска стал более надежным. При непрерывной доставке процесс развертывания и сценарии многократно тестируются перед развертыванием в рабочей среде. Итак, большинство ошибок в процессе развертывания и скриптах уже обнаружено. При более частых выпусках количество изменений кода в каждом выпуске уменьшается. Это упрощает поиск и устранение возникающих проблем, сокращая время, в течение которого они оказывают влияние.
  • Улучшено качество продукта . Число открытых ошибок и производственных инцидентов значительно сократилось.
  • Повышение удовлетворенности клиентов : достигается более высокий уровень удовлетворенности клиентов.

Препятствия также были исследованы. [11]

  • Предпочтения клиентов. Некоторые клиенты не хотят частых обновлений своих систем.
  • Ограничения по доменам: в некоторых областях, таких как телекоммуникации, медицина, авионика, железная дорога и тяжелая промышленность, правила требуют тестирования новых версий на стороне клиента или даже на месте.
  • Отсутствие автоматизации тестирования. Отсутствие автоматизации тестирования приводит к отсутствию уверенности у разработчиков и может помешать использованию непрерывной доставки.
  • Различия в средах. Различные среды, используемые при разработке, тестировании и производстве, могут привести к тому, что необнаруженные проблемы перейдут в производственную среду.
  • Тесты, требующие человеческого оракула : не все показатели качества можно проверить с помощью автоматизации. Эти атрибуты требуют присутствия людей в цикле, что замедляет конвейер доставки.

Восемь дополнительных проблем усыновления были подняты и подробно рассмотрены Ченом. [17] Эти проблемы касаются организационной структуры, процессов, инструментов, инфраструктуры, устаревших систем, проектирования непрерывной доставки, непрерывного тестирования нефункциональных требований и оптимизации выполнения тестов.

Стратегии преодоления с внедрением проблем

Сообщалось о нескольких стратегиях преодоления проблем внедрения непрерывной доставки. [17]

Стратегии преодоления проблем с внедрением компакт-дисков
Стратегия Описание
Продажа компакт-диска как обезболивающего. Определите болевые точки каждой заинтересованной стороны, которые может решить компакт-диск, и продайте этому заинтересованному лицу компакт-диск как обезболивающее. Эта стратегия помогает добиться поддержки широкого круга заинтересованных сторон, необходимой для реализации CD.
Специализированная команда с многопрофильными членами Без выделенной команды прогресс может быть затруднен, поскольку сотрудников часто поручают работать над другими потоками создания ценности. Многопрофильная команда не только обеспечивает широкий спектр навыков, необходимых для реализации CD, но также упрощает общение со смежными командами.
Непрерывная доставка, непрерывная доставка Организуйте внедрение CD таким образом, чтобы оно приносило пользу компании как можно раньше, вводя больше проектов постепенно, небольшими шагами и, в конечном итоге, распространяя CD по всей организации. Эта стратегия помогает оправдать необходимые инвестиции, делая видимыми конкретные выгоды на этом пути. Видимые выгоды, в свою очередь, помогают добиться устойчивой поддержки компании и инвестиций, необходимых для того, чтобы пережить долгий и трудный путь к CD.
Начинаем с простых, но важных приложений Выбирая первые несколько приложений для переноса на компакт-диск, выбирайте те, которые легко перенести, но которые важны для бизнеса. Простота миграции помогает быстро продемонстрировать преимущества компакт-дисков, что может предотвратить провал инициативы по внедрению. Будучи важным для бизнеса, он помогает обеспечить необходимые ресурсы, демонстрирует ясную и неоспоримую ценность и повышает видимость CD в организации.
Скелет конвейера Visual CD Дайте команде визуальный скелет конвейера CD, который имеет полное представление конвейера CD, но с пустыми этапами для тех, которые они еще не могут реализовать. Это помогает сформировать образ мышления компакт-дисков и сохранить импульс для внедрения компакт-дисков. Скелет конвейера особенно полезен, когда переход команды на компакт-диск требует больших усилий и изменения мышления в течение длительного периода времени.
Экспертный дроп Назначьте эксперта по компакт-дискам для участия в сложных проектах в качестве старшего члена команды разработчиков. Наличие эксперта в команде помогает создать мотивацию и импульс для перехода на CD изнутри команды. Это также помогает сохранить динамику, когда миграция требует больших усилий и длительного периода времени.

Отношения с DevOps [ править ]

DevOps — это подход к разработке программного обеспечения, который сосредоточен на культурных изменениях, в частности на сотрудничестве различных команд, участвующих в доставке программного обеспечения (разработчиков, эксплуатации, обеспечении качества, управлении и т. д.), а также на автоматизации процессов доставки программного обеспечения. [18] [19] [20]

Связь с непрерывным развертыванием [ править ]

Непрерывное развертывание — это подход к разработке программного обеспечения, который использует автоматическое развертывание программного обеспечения. [17] В нем программное обеспечение производится в короткие циклы, но посредством автоматического развертывания программного обеспечения даже в рабочей среде, вместо того, чтобы на последнем этапе требовалось «нажатие кнопки». [1] :  52 Таким образом, непрерывное развертывание можно считать более сложной формой автоматизации. [21] В академической литературе различают непрерывную доставку и непрерывное развертывание в зависимости от метода развертывания; ручной или автоматический. [2] [22]

См. также [ править ]

Дальнейшее чтение [ править ]

  • Скромный, Джез; Фарли, Дэвид (2010). Непрерывная доставка: надежные выпуски программного обеспечения посредством автоматизации сборки, тестирования и развертывания . Аддисон-Уэсли. ISBN  978-0-321-60191-9 .
  • Вольф, Эберхард (2017). Практическое руководство по непрерывной доставке . Аддисон-Уэсли. ISBN  978-0-134-69147-3 .

Ссылки [ править ]

  1. ^ Перейти обратно: а б с д Чен, Ляньпин (2015). «Непрерывная доставка: огромные преимущества, но и проблемы» . Программное обеспечение IEEE . 32 (2): 50–54. дои : 10.1109/MS.2015.27 . S2CID   1241241 .
  2. ^ Перейти обратно: а б Шахин, Моджтаба; Али Бабара, Мухаммед; Чжу, Известняк (2017). «Непрерывная интеграция, доставка и развертывание: систематический обзор подходов, инструментов, проблем и практики». Доступ IEEE . 5 : 3909–3943. arXiv : 1703.07019 . Бибкод : 2017arXiv170307019S . дои : 10.1109/ACCESS.2017.2685629 . S2CID   11638909 .
  3. ^ Скромный, Дж.; Прочтите, К.; Норт, Д. (2006). «Линия по производству развертывания». Agile 2006 (Agile'06) . стр. 113–118. дои : 10.1109/AGILE.2006.53 . ISBN  0-7695-2562-8 . S2CID   16572138 .
  4. ^ Фицджеральд, Брайан (3 июня 2014 г.). Непрерывная разработка программного обеспечения и не только: тенденции и проблемы (PDF) . 1-й международный семинар по быстрой непрерывной разработке программного обеспечения . Нью-Йорк, штат Нью-Йорк: Ассоциация вычислительной техники. стр. 1–9. дои : 10.1145/2593812.2593813 . hdl : 10344/3896 . ISBN  978-1-4503-2856-2 . Архивировано из оригинала (PDF) 25 октября 2014 г. Проверено 24 октября 2014 г.
  5. ^ Клюге, Ларс (12 сентября 2013 г.). «Непрерывное развертывание с помощью MongoDB в Kitchensurfing» . SlideShare.net . Проверено 3 января 2014 г.
  6. ^ Дюваль, Поль (2012). «Непрерывная доставка: шаблоны и антишаблоны в жизненном цикле программного обеспечения» (PDF) . Рефкардз . Архивировано из оригинала (PDF) 19 июня 2018 года . Проверено 9 октября 2015 г.
  7. ^ Филлипс, Эндрю (29 июля 2014 г.). «Конвейер непрерывной доставки — что это такое и почему он так важен в разработке программного обеспечения» . DevOps.com . Архивировано из оригинала 28 сентября 2015 года . Проверено 9 октября 2015 г.
  8. ^ Бинсток, Эндрю (16 сентября 2014 г.). «Непрерывная доставка: преемник Agile» . Доктор Добб: Мир разработки программного обеспечения . Сан-Франциско: УБМ.
  9. ^ Чен, Ляньпин (2015). На пути к созданию архитектуры для непрерывной доставки . 12-я рабочая конференция IEEE/IFIP по архитектуре программного обеспечения (WICSA 2015) . Монреаль, Канада: IEEE. дои : 10.1109/WICSA.2015.23 . Архивировано 13 ноября 2018 г. в Wayback Machine.
  10. ^ Перейти обратно: а б Чен, Ляньпин (2018). Микросервисы: архитектура для непрерывной доставки и DevOps . Международная конференция IEEE по архитектуре программного обеспечения (ICSA 2018) . IEEE.
  11. ^ Перейти обратно: а б с Леппянен, М.; Мякинен, С.; Пейджелс, М.; Элоранта, вице-президент; Итконен, Дж.; Мянтюля, М.В.; Мяннисто, Т. (01 марта 2015 г.). «Шоссе и проселочные дороги для непрерывного развертывания». Программное обеспечение IEEE . 32 (2): 64–72. дои : 10.1109/MS.2015.50 . ISSN   0740-7459 . S2CID   18719684 .
  12. ^ «Внедрение непрерывной доставки в Yahoo!» . confreaks.tv . 23 октября 2013 г.
  13. ^ «Velocity 2011: Джон Дженкинс, «Velocity Culture» » . youtube.com . 20 июня 2011 г.
  14. ^ «Быстрый выпуск в массовом масштабе» . 2017-08-31.
  15. ^ Скромный, Джез (13 февраля 2014 г.). «Дело в пользу непрерывной доставки» . thinkworks.com . Проверено 16 июля 2014 г.
  16. ^ jFrog (декабрь 2014 г.). «2014-год-непрерывная-интеграционная-революция» .
  17. ^ Перейти обратно: а б с Чен, Ляньпин (2017). «Непрерывная доставка: преодоление проблем внедрения» . Журнал систем и программного обеспечения . 128 : 72–86. дои : 10.1016/j.jss.2017.02.013 .
  18. ^ Скромный, Джез; Фарли, Дэвид (2011). Непрерывная доставка: надежные выпуски программного обеспечения посредством автоматизации сборки, тестирования и развертывания . Pearson Education Inc. ISBN  978-0-321-60191-9 .
  19. ^ Хаммонд, Джеффри (9 сентября 2011 г.). «Взаимосвязь между DevOps и непрерывной доставкой» . Исследования Форрестера . Лесник.
  20. ^ Свартаут, Пол (2012). Непрерывная доставка и DevOps: Краткое руководство . Пакт Паблишинг. ISBN  978-1849693684 .
  21. ^ «Непрерывное развертывание: важное руководство» . ИБМ . 02.10.2019 . Проверено 28 ноября 2022 г. Непрерывное развертывание — это естественный результат успешной непрерывной доставки. В конце концов, ручное одобрение приносит мало пользы или вообще не приносит никакой пользы и просто постепенно сводится к нулю. На этом этапе с этим покончено, и непрерывная доставка становится непрерывным развертыванием.
  22. ^ Шахин, Моджтаба; Бабар, Мухаммед Али; Захеди, Мансура; Чжу, Известняк (2017). «Не только непрерывная доставка: эмпирическое исследование проблем непрерывного развертывания». Международный симпозиум ACM/IEEE по эмпирической разработке программного обеспечения и измерениям (ESEM) , 2017 г. стр. 111–120. дои : 10.1109/ESEM.2017.18 . ISBN  978-1-5090-4039-1 . S2CID   3479812 .
  23. ^ «Создание эволюционной архитектуры» .
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 0C49BBE5EF9ACF300934EC2203489815__1718565240
URL1:https://en.wikipedia.org/wiki/Continuous_delivery
Заголовок, (Title) документа по адресу, URL1:
Continuous delivery - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)