Разработка релиза
Проектирование релизов , часто сокращенно называемое RE или сокращенное соединение Releng , представляет собой раздел инженерии программного обеспечения, занимающийся компиляцией , сборкой и доставкой исходного кода в готовые продукты или другие программные компоненты. Это связано с жизненным циклом выпуска программного обеспечения , сказал Борис Дебич из Google Inc. [1] [2] что разработка релизов относится к разработке программного обеспечения так же, как производство относится к промышленному процессу:
Проектирование выпуска — это разница между производством программного обеспечения в небольших группах или стартапах и промышленным производством программного обеспечения, которое воспроизводится и дает предсказуемые результаты.и хорошо масштабируется. Эти практики индустриального стиля не только способствуют росту компании, но иключевые факторы, способствующие экономическому росту.
Важность разработки релизов для обеспечения роста технологической компании неоднократно подчеркивалась Джоном О'Дуинном. [3] и Брэм Адамс. [4] Хотя целью разработки выпуска не является обременение разработки программного обеспечения наложением процессов, это часто рассматривается как признак организационной зрелости и зрелости разработки.
Современная разработка выпусков связана с несколькими аспектами производства программного обеспечения:
- Идентифицируемость
- Возможность идентифицировать все источники, инструменты, среду и другие компоненты, составляющие конкретный выпуск.
- Воспроизводимость
- Возможность интеграции исходных, сторонних компонентов, данных и внешних компонентов развертывания программной системы для обеспечения стабильности работы.
- Последовательность
- Миссия — обеспечить стабильную основу для разработки, развертывания, аудита и отчетности за программные компоненты.
- Ловкость
- Продолжающиеся исследования того, как современные методы разработки программного обеспечения влияют на производительность в цикле разработки программного обеспечения, например, непрерывная интеграция и продвижение экологических инициатив. [ нужны разъяснения ] .
Проектирование релизов часто является центром интеграции для более сложных команд разработчиков программного обеспечения, находящихся на стыке разработки, управления продуктами, обеспечения качества и других инженерных усилий, также известных как DevOps . Команды разработчиков релизов часто играют роль контролеров (например, в Facebook, Google, Microsoft) для определенных критически важных продуктов, где их суждения формируют параллельную линию ответственности и полномочий в отношении производственных релизов (push).
Часто отслеживание изменений в системе управления конфигурацией или системе контроля версий входит в сферу компетенции инженера по выпуску. Ответственность за создание и применение схемы нумерации версий в программном обеспечении, а также отслеживание этого номера до конкретных исходных файлов, к которым он применяется, часто ложится на инженера по выпуску. Создание или улучшение автоматизации производства программного обеспечения обычно является целью инженера по выпуску. Сбор, отслеживание и предоставление всех инструментов, необходимых для разработки и создания конкретной части программного обеспечения, может быть задачей разработки выпуска, чтобы надежно воспроизводить или поддерживать программное обеспечение спустя годы после его первоначального выпуска для клиентов.
В то время как большинство инженеров-программистов или разработчиков программного обеспечения выполняют многие или все вышеперечисленные действия в ходе своей работы, в более крупных организациях специальность инженера по выпуску может применяться для координации разрозненных деревьев исходного кода, проектов, команд и компонентов. Это освобождает разработчиков от реализации функций в программном обеспечении, а также освобождает инженеров по обеспечению качества от более широкого и глубокого тестирования создаваемого программного обеспечения.
Инженер по выпуску может предоставлять программное обеспечение, услуги или и то, и другое группам разработки программного обеспечения и группам обеспечения качества программного обеспечения. Поставляемое программное обеспечение может создавать инструменты, сборки или другие сценарии реорганизации, которые принимают результаты компиляции и помещают их в заранее определенную древовидную структуру, и даже могут использоваться для разработки и создания установщиков для использования группами тестирования или конечным потребителем программного обеспечения. . Предоставляемые услуги могут включать автоматизацию сборки (компиляции) программного обеспечения, автоматизированную интеграцию тестов, отчетность о результатах, а также производство или подготовку систем доставки программного обеспечения — например, в форме электронных носителей (CD, DVD) или механизмов электронного распространения программного обеспечения.
Смежные дисциплины [ править ]
- Автоматизация выпуска приложений
- Управление жизненным циклом приложений
- Автоматизация сборки
- Непрерывная интеграция
- Управление изменениями
- Упаковка и развертывание
- Портирование . Разработка линейки продуктов включает в себя портирование программного продукта с одной платформы на другую.
- Управление релизами
- Управление конфигурацией программного обеспечения . Хотя разработку выпуска иногда считают частью управления конфигурацией программного обеспечения, последнее, будучи инструментом или процессом, используемым инженером по выпуску, на самом деле представляет собой скорее подмножество ролей и обязанностей типичного инженера по выпуску.
- Развертывание программного обеспечения
- Жизненный цикл выпуска программного обеспечения
- Управление версиями программного обеспечения
Ссылки [ править ]
- ^ Адамс, Белломо, Берд, Маршалл-Кейм, Хомх, Мойр (март 2015 г.). «Практика и будущее релиз-инжиниринга» . Программное обеспечение IEEE . 32 (2). Компьютерное общество IEEE: 46. doi : 10.1109/ms.2015.52 .
- ^ «За кулисами — производство продвигается» .
- ^ Джон О'Дуинн. 2015. Релиз-инжиниринг как мультипликатор силы. В материалах третьего международного семинара по разработке релизов (RELENG '15). IEEE Press, Пискатауэй, Нью-Джерси, США, 1-1.
- ^ 2013. Материалы 1-го международного семинара по разработке релизов. IEEE Press, Пискатауэй, Нью-Джерси, США.
Дальнейшее чтение [ править ]
- «Методология выпуска программного обеспечения» Майкла Э. Бэйса; ISBN 0-13-636564-7 .
- «Управление конфигурацией программного обеспечения» Х. Рональда Берлака; ISBN 0-471-53049-2 .
- «Разработка методологии поддержки решений о выпуске программного обеспечения» Х. Сассенбурга; ISBN 90-367-2424-4 .
- «Непрерывная доставка: надежные выпуски программного обеспечения посредством автоматизации сборки, тестирования и развертывания», Джез Хамбл, Дэвид Фарли; ISBN 0-321-60191-2