Вопрос « Что такое хранилище артефактов? » Содержит ответ с интересным объяснением его части в хранилище. И, прочитав весь ответ, я не уверен, что именно означает « артефакт » в контексте DevOps.
Какие-либо предложения?
Ps: Из одного из ответов я, кажется, понимаю, что, может быть, артефакт - это то, что меня интересует (смущает?)
terminology
artifacts
Pierre.Vriens
источник
источник
Ответы:
В Википедии есть очень хороший ответ на этот вопрос. Артефакт , иногда называемый также Derived Object , является продуктом некоторого процесса, примененного к репозиторию кода . Первоначально их называли « Артефакты сборки» , но поскольку для их создания использовалось больше процессов, чем «сборка», первое слово было просто отброшено.
Основное отличие состоит в том, что артефакты могут быть воссозданы из репозитория кода с использованием того же процесса, при условии, что вы сохранили среду, в которой был применен процесс. Поскольку этот процесс может занимать много времени, а среда может быть несовершенно сохранена, чтобы можно было точно воссоздать артефакты, мы начали хранить их в репозиториях артефактов .
Хранение их отдельно от кода Repository в Артефакте Repository является дизайнерским решением инженер DevOps бы. Некоторые компании, а именно Perforce , предлагают использовать свой репозиторий кода в качестве репозитория артефактов. Существуют различные требования в отношении доступа , аудита , размеров объекта , объекта мечения и масштабируемость на каждом хранилище и поэтому в зависимости от ситуации , часто лучше использовать два различных продуктов. Например Gitрепозитории полностью копируются на каждую машину разработки, и поэтому хранение артефактов в репозитории кода увеличило бы его размер без всякой причины, хотя в последнее время есть способы смягчить это. Другое решение - какие артефакты хранить. Некоторые компании хранят даже промежуточные артефакты в виде отдельных объектных файлов для ускорения повторных сборок, другие хранят просто конечные двоичные файлы. Не все артефакты имеют одинаковое значение. Артефакты, возникающие в результате сборки выпуска, могут иметь другие требования, чем артефакты, являющиеся результатом сборки разработчика.
Наиболее распространенные артефакты являются результатом следующих процессов: Конфигурация , Preprocessing , Подборка , Linking , Automated Testing , архивированию , Упаковка , медиа - файлов , создания и обработки , данной Генерация файлов , документации Синтаксического , код анализировать , QA , и т.д.
источник
Существует два использования слова «артефакт», и один делает исходный код артефактом, а второй - не артефактом: это действительно может сбивать с толку!
«Артефакт» как конкретная вещь, а не как идеальная вещь. Это значение является общим значением слова «объект, созданный человеком, обычно представляющим культурный или исторический интерес», и не является техническим жаргоном. Вот пример в техническом контексте: когда вы отлаживаете программное обеспечение, вы узнаете что-то о программном обеспечении. Часто ценные инвестиции превращают это обучение в программный артефакт, такой как регрессионный тест. В противном случае это обучение будет забыто, а усилия, приложенные для его приобретения, будут потрачены впустую. В этом смысле исходный код считается артефактом.
«Артефакт» как нечто, производимое по рецепту. В этом значении используется популярное изображение алхимика, использующее некоторый эзотерический рецепт для создания магического устройства, часто называемого артефактом. Это технический жаргон, используемый для различения исходного кода, который соответствует рецепту в метафоре алхимика, и всего, что происходит от этого исходного кода, что соответствует артефакту в метафоре алхимика. Например, я только что автоматизировал создание артефактов для моей программы plop-fizz, теперь архивы исходного кода, файлы сигнатур, пакеты DEB и RPM могут быть созданы только одной командой! Это значение не признает исходный код как артефакт, так как этот термин используется для обозначения того, что производится из этого исходного кода.
источник
Я предполагаю, что ответ может варьироваться от места к месту. Там, где я сейчас работаю, артефакт - это все, что потребляется какой-то другой сущностью, за исключением исходного кода, используемого для разработки - это входит в систему контроля версий.
Это включает двоичные файлы продукта или других необходимых продуктов, библиотеки, объектные файлы, тестовые артефакты, такие как медиа-файлы или тестовые данные.
Исходный код не считается артефактом. Если это не соответствует определению «используется» - в нашем случае, включая сторонние библиотеки, код скрипта, используемый для тестирования или в других целях (но не в самой версии разработки).
источник
Примечание стороны на стороне культуры. В то время как в DevOps мы рассматриваем концепцию «хранилища артефактов» как конкретную ситуацию, похоже, существует не так много связей с организационным процессом.
Культурная проблема: если организация использует ITIL, сертифицированные специалисты скажут: «Нам нужна определенная библиотека мультимедиа, такое хранилище для размещения созданных нами элементов конфигурации программного обеспечения». Таким образом, люди, которые заботятся о хорошо структурированных ИТ-процессах, не знают, какие инструменты (не для управления) поддерживают это и используются. И наоборот, если вам нужно обоснование для языка Nexus или Artifactory, вам может быть трудно объяснить это в зависимости от организации.
Дополнительная информация: https://en.wikipedia.org/wiki/Definitive_Media_Library.
источник