Пакетных менеджеров для питона как‑то слишком много. У этого, конечно, есть очевидная причина — скудность функционала pip, встроенного пакетного менеджера. Но всё равно внутренний перфекционист хочет простое решение из коробки. Установил питон — и сразу получаешь быстрый и удобный пакетный менеджер, и ещё желательно менеджер версий питона. Но вместо этого получаешь pip. Кто‑то, конечно, его реально пользует, но всё‑таки poetry, pdm, conda, pipenv или хотя бы pip‑tools гораздо удобнее.
Рубрика «packaging»
snap & flatpack — трагедия общин
2018-12-27 в 3:31, admin, рубрики: Debian, dependency, devops, packaging, snap, Ubuntu, vendoring, Настройка Linux, Разработка под Linux, Серверное администрирование, системное администрированиеЛонгрид варнинг: вас предупредили, много букв.
Уже давно ведётся разработка формата дистрибуции приложений, которые были "свободны" от общесистемных зависимостей. Ubuntu очень, очень активно продвигает свой snap, gnome — flatpack. Оба обещают рай и свободу от rpm/deb. Давайте же подумаем про проблему, которую они хотят решить, и цену, которую они просят за решение этой проблемы.
Версионирование артефактов сборки в Gradle используя git имена тегов, бранчей и коммитов
2017-02-12 в 19:16, admin, рубрики: ci, Git, gradle, java, Jenkins, packaging, versioning, Программирование, системы сборкиС переездом из SVN на GIT и gitlab (плюс переезд из Jenkins на Gitlab-CI, но его использование также упомянём), встал вопрос версионирования получаемых артефактов сборки приложения.
В SVN был всем привычный номер ревизии, монотонно увеличивающийся с каждым коммитом. Его было удобно добавлять в номер версии, и это решало большинство проблем. Но git конечно предоставляет множество плюшек, и стоило убеждать руководство и всё команду перевести проект на него…
Зато пришлось отстроить заново процесс версионирования получаемых артефактов сборки.
В итоге остановились на очень хорошем Gradle плагине github.com/nemerosa/versioning, о его использовании я и собираюсь рассказать.
Читать полностью »
Python Meetup 28.11.14: пакетирование, печать и баги
2014-12-17 в 9:51, admin, рубрики: bugs, bugtracking, open source, packaging, python, Блог компании Wargaming Всем привет!
28 ноября состоялась последняя в 2014 году встреча любителей языка программирования Python. Темы в этот раз обсуждались самые что ни на есть хардкорные: пакетирование кода и подготовка к печати документов со сложной структурой. А в рамках «свободного микрофона» была затронута проблема багтрекинга.
Универсальный способ создания пакетов, для различных дистрибутивов GNU Linux
2013-11-04 в 15:45, admin, рубрики: fpm, linux, packaging, ruby, системное администрирование, метки: fpm, linux, packaging, ruby Различные дистрибутивы предоставляют свои утилиты, для сборки и установки программ.
Например в Debian/GNU Linux — это debuild и dpkg. В Red Hat Linux — rpmbuild и rpm.
Не редко нам приходится собирать пакеты самостоятельно.
Устанавливать программы через make, в обход системы управления пакетами в дистрибутивах — является дурным тоном.
В случаях, когда мы имеем исходный код, и автор программы позаботился о создании Makefile, можно использовать checkinstall.
Но бывает и так, что автор java приложения, не выкладывает ничего кроме jar файла. Или мы хотим на коленке создать какой-то пакет, и положить в репозиторий, что бы в дальнейшем устанавливать/обновлять его на множестве серверов с различными дистрибутивами. В этом нам поможет утилита под названием fpm.
В чем же ее достоинство? Она из коробки позволяет нам собирать пакеты под различные дистрибутивы и даже операционные системы.
Сейчас поддерживаются:
- deb
- rpm
- solaris
- tar
- directories
- Mac OS X .pkg files (osxpkg)
Быстрый способ создать установщик для Java программы
2013-04-30 в 14:18, admin, рубрики: deployment, java, javafx, packaging, Песочница, метки: deployment, java, javafx, packaging Вам никогда не надо было быстро создать установщик для своего Java-приложения, но не хотелось тратить на это кучу времени, создавая свой собственный? Возможно, вы удивитесь, но в стандартной поставке JDK7 такой инструмент уже присутствует.
Читать полностью »