Існує досить багато запитань і відповідей, в яких згадується " артефакт ".
Я не здивуюсь, якщо це якимось чином пов'язане з артефактами .
Мої запитання :
- Що насправді є "артефактом" (в контексті DevOps)?
- Для чого використовуються артефакти?
Існує досить багато запитань і відповідей, в яких згадується " артефакт ".
Я не здивуюсь, якщо це якимось чином пов'язане з артефактами .
Мої запитання :
Відповіді:
Artifactory - це продукт компанії JFrog, який виконує функції менеджера бінарних сховищ . Це дуже часто говорить про те, що "артефакт" буде синонімом більш загального бінарного сховища, як багато людей використовують Frigidaire або холодильник для позначення холодильника незалежно від того, це бренд Frigidaire чи ні.
Бінарне сховище - це природне розширення до сховища вихідного коду, оскільки воно зберігатиме результати вашого процесу збирання, часто позначається як артефакти. У більшості випадків користувач не використовував бинарний сховище безпосередньо, а через менеджер пакунків, який постачається за обраною технологією.
У більшості випадків вони зберігатимуть окремі компоненти додатків, які згодом можуть бути зібрані в повноцінний продукт - таким чином дозволяючи розбивати збірку на менші шматки, ефективніше використовувати ресурси, скорочувати час збирання, краще відслідковувати бази даних бінарної налагодження тощо.
Ось кілька найпопулярніших менеджерів пакетів, якими можна керувати за допомогою бінарного сховища:
Цей список ще далеко не повний, він просто дає уявлення про те, що там є.
Бінарне сховище може дозволяти розміщувати все це під одним дахом, що робить їх управління набагато простішим для команд. Зауважте, що вам не потрібна дуже велика команда, щоб почати отримувати переваги від управління бінарними пакетами. Початкові інвестиції не дуже великі, і вигоди відчуваються негайно. Особливо зараз, коли все більше платформ, фреймворків та мов інтегрують це управління залежністю безпосередньо в них. Однак, я виявив, що найбільша перевага - створити середовище, в якому ваші програмісти знайдуть природне та комфортне, зробивши це важливим. Це допомагає вам, як девп, створюючи міцну ланцюжок інструментів, і допомагає їм зробити загальний досвід природним чином вписаним у їхній вибір.
Як я вже говорив раніше, існує багато продуктів , які можуть виконувати функції менеджерів бінарних пакетів, деякі більш загальні, ніж інші, у цільовому використанні, що значною мірою відрізняється і доступністю, і цінами.
Моя особиста думка полягає в тому, що бінарні сховища є настільки важливою частиною добре розробленої установки деппсів, як сховище вихідного коду або безперервна інтеграція.
Те, як це допомогло мені зрозуміти спочатку, різниця між сховищем вихідного коду та бінарним сховищем полягала в тому, щоб думати про це як: * Github або Bitbucket корисно підтримувати весь 'код' * Jfrog Artifactory корисно підтримувати вбудований "двійковий" принаймні поки мені не було комфортно з цими умовами!
Також важливість Artifactory можна зрозуміти стосовно філософії DevOps до "Будуй один раз, завжди розгортай". У постійній інтеграції йде довгий шлях, щоб один раз побудувати свій двійковий файл, поставити його в Artifactory, а потім викликати його звідти для розгортання у всіх різних середовищах. Таким чином, ми впевнені, що код, який працює в Dev, - це той, який підштовхується до Prod і буде там працювати.
Artifactory - продукт диспетчера бінарних репозиторіїв від компанії Jfrog .
Ви маєте рацію - будучи менеджером бінарних сховищ, він зазвичай використовується для управління зберіганням артефактів, що генеруються та використовуються в процесі розробки програмного забезпечення.
З головної веб-сторінки Artifactory :
Як перший і єдиний універсальний менеджер репозиторіїв Artifact на ринку, JFrog Artifactory повністю підтримує програмні пакети, створені будь-якою мовою чи технологією.
...
... Artifactory надає комплексне, автоматизоване і куленепробивне рішення для відстеження артефактів від розробки до виробництва.
Згадані вами звичаї вважають, що він може бути досить популярним для загальної торгової марки DevOps.
Я думаю, що ускладнення речей - це те, що сьогодні всі цінують. Спробую відповісти на це питання коротко.
Джерело-сховище використовується для зберігання коду та його версій, тоді як артефактор використовується для зберігання виконуваних програм, які є виводами цього коду [бінарні файли - dll, jar, war, ear, msi, exe-файли тощо]
Тепер причин, чому ви хочете розмістити їх окремо в репо, що відрізняється від вашого коду, може бути безліч - прямо від безпечного доступу, злому загрози, зловмисного коду, реєстрації або просто окремого проспекту для клієнтів, які просто потребують двійкові файли.
Технологія SCM могла призвести до створення двох видів користувачів (одного з привілеями розробника, який зможе отримати доступ до вихідного коду, а іншого як клієнта, який просто зможе отримати доступ до бінарних файлів). Але це маршрут не взяв! Тож зараз у нас є артефакти.
Артефакт
Це щось, що виробляється / генерується / створюється з певного процесу
Збудувати проект Java.
Питання поза розумом
Автомобіль із заводу
Нова пісня
Сховище
Це ємність, де зберігаються речі
Github для проекту Java.
StackExchange для ваших страхітливих питань
В ТЕОРІЇ Артефакт - орія буде сховищем артефакту, де вони зберігаються та керуються протягом усього життєвого циклу.
У контексті DevOps Artifactory - це продукт, що управляє бінарними артефактами. Він зберігає та керує різними типами (пакети Jar, Python та npm тощо), які ви виробляєте із своїх збірок та повторного використання під час компіляції чи розгортання.