1. Сложности при распутывании перекрёстных и вложенных зависимостей.
2. Пакетный менеджер CrossPM. Его возможности и примеры использования.
3. Интеграция CrossPM и системы хранения пакетов Artifactory.
6. Open Source
Подготовка и вывод проекта в сообщество DevOpsHQ
CrossPM
config.yaml
cpm.manifest
environment
Загруженные
зависимости
command line
Artifactory
adapter
Git
adapter
Whatever
adapter
...
Любая структура каталогов
и имен файлов в репозитории
Формат описания
зависимостей указывается
в config.yaml
Просто выполнить
pip install crosspm
перед использованием
Логичная структура проекта,
ведется работа по
документированию кода
8. CrossPM: Что он может
• Найти пакеты, от которых зависит ваш проект
• Найти пакеты, от которых зависят эти пакеты
• Найти пакеты, от которых зависят и эти пакеты тоже
• И т.д…
• И т.д…
• И т.д…
• Распаковать загруженные пакеты
• Создать shell скрипт для установки путей к пакетам в переменные окружения
• Или cmd скрипт
• Или python скрипт
• Или json файл
• Или просто вывести в stdout
• Если Вам этого мало – пойдем пообщаемся… в хорошем смысле
• Загрузить все эти найденные пакеты
• Или загрузить только указанный пакет
• Или просто вернуть полный путь или имя файла пакета
17. CrossPM + Artifactory
• Использовали существующий API от Artifactory
• Запланировали написать свою библиотеку для работы с Artifactory
Первый этап:
• Обнаружили, что такая библиотека уже существует
• Протестировали: библиотека сыровата, но пользоваться уже можно
• Разработчикам из Parallels – отдельное спасибо! Ждем развития!
Второй этап (Open Source):
18. CrossPM + Artifactory
+ любое другое хранилище, на самом деле…
• Динамически подключаемые модули для работы с репозиторием:
• Любой способ подключения:
• http
• ftp, sftp
• smb
• просто файлы в папках
• и прочее…
• Любое количество типов репозиториев
19. CrossPM: Возможные доработки инструмента
• Поддержка дополнительных форматов пакетов
• Повторные попытки загрузки пакетов при разрывах соединения
• Загрузка пакетов в репозиторий
• Управление пакетами в репозитории