"Продукт"относится к компиляции и печати из исходного кода Сумка Сгенерированный двоичный файл,Разным языкам разработки соответствуют разные форматы бинарных файлов.;Эти двоичные файлы обычно используются для запуска на сервере или в качестве зависимости от компиляции.,«Продукт управления» является важной частью конфигурации управления.
Обычно эти компоненты представляют собой архивы различных файлов, включая: байт-код Java в файлах классов, объектные файлы C, текстовые файлы, двоичные файлы. Несколько форматов компонентов, таких как: форматы Java JAR, WAR, EAR; простые файлы ZIP или .tar.gz, другие форматы пакетов, такие как пакеты NuGet, драгоценные камни Ruby, форматы исполняемых файлов, такие как .exe или . sh, файл Android APK, различные форматы установщика.
«В зависимости от сценариев использования продукты условно делятся на три категории».
"Согласно языку разработки, к типам продуктов относятся следующие типы:"
Для конвейера CI/CD,Продукт служит«Соединение прошлого с будущим»ключевая роль,Это конечная точка непрерывной интеграции CI.,Это также отправная точка для непрерывной доставки компакт-дисков.
Без эффективных стратегий и инструментов управления продуктами невозможно создать эффективный конвейер; без управления продуктами вы можете каждый раз создавать только заново код, что неприемлемо для любой корпоративной организации и не соответствует принципу «создайте один раз, создайте». многие» принцип «первого использования».
На протяжении всего процесса исследований и разработок продукты имеют решающее значение для тестировщиков, а также персонала по эксплуатации и техническому обслуживанию. Они сосредоточены на том, как получить необходимые версии для тестирования и развертывания. Без эффективного управления продуктом весь поток создания ценности DevOps будет отключен. Вы можете столкнуться с такой ситуацией. Студенты-тестировщики будут использовать различные методы, чтобы спросить, какую версию можно протестировать, где находится пакет и т. д.
Что такое метаданные пакеты? Кто-то дарит тебе сумку,Как узнать, какие изменения дефектов требований включены в Сумку?,Какие коды содержит Сумка?,кроме Сумкаизmd5,hashи другая информация。Эта информация полезна для тестировщиков«Внедрение проблем с отслеживанием, последующие улучшения, регресс версий»ключевой,С точки зрения непрофессионала,Узнайте прошлую и настоящую жизнь изделия.
Так откуда же эта информация? Конечно, конвейер CI постоянно строится. Требования и отправленный код можно собирать через конвейер CI. Если ваша организация приобрела продукты Jfrog, вы обнаружите, что эта функция особенно заметна на ее платформе.
「」В разработкеупражнятьсясередина,Большинство команд готовятсяDEV, TEST, UAT, Различные среды, такие как RELEASE, соответственно создают разные сборочные линии, и продукты будут по-разному тестироваться перед их развертыванием в разных средах. Отсюда также происходит обновление. Продукт заключается в установке различных ворот доступа для продуктов.
Подводя итог, Продукты и конвейеры CI/CD имеет тесные связи,неделимый,При проектировании сборочной линии учитывайте сценарии использования продукта.
Как упоминалось выше, из-за важности управления продуктами разрабатываются соответствующие продуктовые решения для единообразного управления программными продуктами в разных форматах. В дополнение к базовым функциям хранения он также предоставляет важные функции, такие как контроль версий, контроль доступа, сканирование безопасности, анализ зависимостей и т. д., и в конечном итоге создает «единый источник доверия», который является стандартизированным способом для предприятий обрабатывать все типы пакетов, созданные в процессе разработки программного обеспечения.
В настоящее время основные инструменты управления продуктами на основном рынке включают в себя следующие типы:
Nexus — это «готовая к использованию» система, не требующая базы данных. Для организации данных она использует файловую систему и Lucene. Nexus использует ExtJS для разработки интерфейса, использует Restlet для предоставления полных API-интерфейсов REST и интегрируется с Eclipse через m2eclipse. Nexus поддерживает безопасную аутентификацию WebDAV и LDAP.
Nexus — один из немногих продуктов для управления продуктами, который поддерживает практически все основные форматы продуктов и предоставляет бесплатную версию. Это также выбор большинства малых и средних компаний, который может удовлетворить большинство бизнес-сценариев. Однако бесплатная версия не обеспечивает. решение высокой доступности. Ссылка на цену: https://www.sonatype.com/products/pricing?topnav=true.
Поскольку у Nexus нет агента в Китае, осведомленность о ней по-прежнему ограничена. Фактически, Nexus — это всего лишь одно из продуктовых решений Sonatype, предоставляющее решения по управлению продуктами для цикла разработки программного обеспечения.
Jfrog — израильская компания, которая специализируется на средах управления продуктами и предоставляет коммерческие решения, поэтому ее продукты стоят денег.
На рисунке ниже показано сравнение функций продуктов Jfrog Artifactory и Nexus только для справки. Поскольку вы заплатили за него, он определенно предоставляет больше поддержки и услуг, чем бесплатный Nexus, включая высокую доступность, анализ рисков уязвимостей компонентов, распространение в нескольких местах и т. д. Дело не в том, что Nexus плох, но большинство из нас используют бесплатную версию Nexus. Фактически, его платная версия также предоставляет аналогичные решения.
HarborдаVMwareкомпания«Открытый исходный код»из企业级Docker Проект реестра, его цель — помочь пользователям быстро создать Docker корпоративного уровня. служба регистрации.
Основанный на официальной реализации Registry V2, он предоставляет функции, необходимые корпоративным пользователям, такие как пользовательский интерфейс управления, контроль доступа на основе ролей (Role Based AccessControl), интеграцию AD/LDAP и ведение журнала аудита (Auditlogging). такие как безопасность, идентификация, управление и многое другое, расширяя дистрибутив Docker с открытым исходным кодом.
Harbor теперь стал основным инструментом для частного управления Docker/Helm. По сравнению с Nexus, Harbor имеет больше преимуществ в управлении образами Docker, предоставляет услуги синхронизации изображений и поддерживает изоляцию командных проектов. На практике автор обнаружил, что у Nexus есть некоторые проблемы с командной изоляцией докер-образов.
WePack — это отдельный продукт для управления сервисом, выделенным из Tencent Coding на основе предыдущего DevOps.,Поддержка частного развертывания. Возможно также посмотреть отдельный Инструменты управления продуктами.,Она может лучше врезаться в пользовательские сценарии, чем большая и комплексная платформа DevOps.
Чтобы унифицировать Сумку в разных языковых форматах, вышеуказанные продукты организованы примерно следующим образом.
Иерархические отношения библиотеки продуктов: склад > Сумка > Версия, каждый уровень описывается следующим образом:
Если команда относительно одиночная и не имеет высоких требований к управлению продуктом, описанные выше методы в принципе могут удовлетворить потребности. Однако, если на уровне строительной компании необходимо стандартизировать некоторые наименования, как показано ниже.
Номер версии продукта используется для обозначения конкретного продукта, а стандартизированное именование помогает писать автоматизированные сценарии и повторно использовать конвейеры.
Независимо от того, основаны ли они на инструментах с открытым исходным кодом или на инструментах собственной разработки, дизайн разрешений на основе складов продуктов также необходим для достижения изоляции групповых продуктов.
Когда дело доходит до управления продуктами, большинство людей зацикливаются на идее просто хранить и извлекать их для использования. Автор тоже думал подобным образом до этого года. Инцидент с безопасностью Log4j2 в конце 2021 года вызвал бурю негодования во всем ИТ-круге. Этот компонент с открытым исходным кодом затрагивает практически все Java-приложения, и каждой компании пришлось срочно проверять, не представляют ли ее продукты этот риск.
Благодаря этому инциденту давайте начнем обращать внимание на возможные риски, связанные с компонентами с открытым исходным кодом. Это также популярная в настоящее время «безопасность цепочки поставок» в процессе исследований и разработок, а также важная часть DevSecOps.
По мере управления продукцией в процессе исследований и разработок внедрение механизмов поэтапной проверки и безопасность во время использования все чаще становятся в центре внимания. Если да, то организации необходимо внедрить систему проверки компонентов, чтобы предотвратить случайное извлечение разработчиками продуктов с открытым исходным кодом из Интернета, а также создать механизм сканирования уязвимостей в реальном времени для формирования хранилища белых списков на уровне организации.
Современное программное обеспечение в основном использует сторонние и Открытый исходный Компоненты кода собираются вместе сложными и уникальными способами и интегрируются с исходным кодом для достижения желаемой функциональности. Кроме в Открытый исходный Механизм проверки безопасности добавляется к этапу внедрения компонентов. ИТ-компаниям часто также необходимо уделить особое внимание. на自己开发或使用из软件产品из组成,Например, список пищевых ингредиентов, который мы видим на упаковке продуктов питания, когда покупаем еду в супермаркете.,Все используемые материалы имеют маркировку.
Чтобы точно понять компоненты, содержащиеся в программном обеспечении, SBOM (т. е.: Программное обеспечение Bill Of Материалы), которая включает в себя различную ключевую информацию, такую как название компонента, номер версии, поставщик и т. д. Эта ключевая информация играет ключевую роль при анализе безопасности программного обеспечения. По этой информации можно отследить оригинальную цепочку программного обеспечения. поставок,Значительно улучшить понимание разработчиками рисков программного обеспечения, которое они используют.,Помогите предприятиям повысить эффективность анализа сетевых рисков, уязвимостей и процессов реагирования на чрезвычайные ситуации.
Для компаний-разработчиков программного обеспечения SBOM может эффективно контролировать риски, связанные с компонентами с открытым исходным кодом, и помогать компаниям выявлять и устранять недостатки безопасности и риски лицензирования компонентов с открытым исходным кодом на более раннем этапе. Для компаний, занимающихся закупками программного обеспечения, SBOM может помочь лицам, принимающим решения о закупках, легко понять, является ли программное обеспечение разработчика; существуют риски, связанные с компонентами с открытым исходным кодом; для разработчиков программного обеспечения SBOM может помочь разработчикам полностью и точно понять компоненты с открытым исходным кодом разрабатываемого ими программного обеспечения.
Это всего лишь общий обзор управления продуктами, а конкретные моменты будут подробно представлены позже.