Консольная утилита для загрузки пакетов с releases.1c.ru
Команда получения релизов проектов с сайта 1С https://releases.1c.ru/
Быстрый запуск:
export ONEC_USERNAME=user
export ONEC_PASSWORD=password
oneget get --path ./tmp/dist/ platform@8.3.18.1334Шаблон формата platform83[:filter.[filter]...]@8.3.18.1334[:filter]
Где,
platform83- имя проекта (обязательный)[:filter.[filter]...]- набор фильтров файлов@- разделитель между проектов и версией релиза8.3.18.1334[:filter]- описание версии релиза
Минимальный использование указание только имени проекта.
Например, platform83 - будет трактоваться как platform83@latest
Имя проекта - подсмотреть можно в адресе, ссылки имеют вид например https://releases.1c.ru/project/EnterpriseERP20
Синонимы проектов для быстрого доступа:
platform->platform83edt->DevelopmentTools10ring->EnterpriseLicenseToolsexecutor->Executorpg->AddCompPostgre
Список предопределенных фильтров для проектов:
- По ОС:
win,windows- фильтр по MS Windowslinux- фильтр по операционной системе (для платформы выше 8.3.20)mac- фильтр по OS Xdeb- фильтр по DEB-based Linux-систем (для платформы ниже 8.3.20)rpm- фильтр по RPM-based Linux-систем (для платформы ниже 8.3.20)
- По разрядности OS:
x32- фильтр по 32-bit (по умолчанию, если не указан фильтр разрядности)x64- фильтр по 64-bit
Важно! Для OSX флаг разрядности игнорируется
Пример использования:
export ONEC_USERNAME=user
export ONEC_PASSWORD=password
# Т.к. не указана разрядность OS будет скачены дистрибутивы для x32
# скачать файлы с фильтрацией по Windows
oneget get platform:win
# скачать файлы с фильтрацией по OSX
oneget get platform:mac
# скачать файлы с фильтрацией по DEB-based Linux-систем
oneget get platform:deb
# скачать файлы с фильтрацией по RPM-based Linux-систем
oneget get platform:rpmПример для x64:
export ONEC_USERNAME=user
export ONEC_PASSWORD=password
# Там где не указана разрядность OS будет скачены дистрибутивы для x32
# скачать файлы с фильтрацией по Windows
oneget get platform:win.x64
# скачать файлы с фильтрацией по OSX
# Важно для OSX флаг разрядности игнорируется
oneget get platform:mac
# скачать файлы с фильтрацией по DEB-based Linux-систем
oneget get platform:deb.x64
# скачать файлы с фильтрацией по RPM-based Linux-систем двух разрядностей сразу
oneget get platform:rpm.x64 platform:rpm.x32Для проекта platform (platform83)
thin-client,thin- фильтр для файлов тонкого клиента 1С. Предприятиеclient- фильтр для файлов клиента 1С. Предприятиеserver- фильтр для файлов сервера 1С. Предприятиеfull- фильтр для файлов "Технологическая платформа" (для linux c платформы выше 8.3.20)
Важно! Для OSX фильтр
serverигнорируется
Важно! Фильтр
fullигнорируется для всех других фильтров кромеwin
Пример использования:
export ONEC_USERNAME=user
export ONEC_PASSWORD=password
# Там где не указана разрядность OS будет скачены дистрибутивы для x32
# скачать файлы сервера для Windows
oneget get platform:win.server.x64
# скачать файлы клиента для OSX
# Важно для OSX флаг разрядности игнорируется
oneget get platform:mac.client
# скачать файлы тонкого клиента для DEB-based Linux-систем
oneget get platform:deb.thin.x64
# скачать файлы сервера для RPM-based Linux-систем
oneget get platform:rpm.server.x64Для проекта edt (DevelopmentTools10)
jdk- фильтр для файлов Bellsoft JDKonline- фильтр для файлов онлайн установщика 1С:EDT
Важно. Для проекта
edtигнорируются фильтры разрядности
Пример использования:
export ONEC_USERNAME=user
export ONEC_PASSWORD=password
# скачать файлы 1C:EDT для Windows
oneget get edt:win
# скачать файлы 1C:EDT для OSX
oneget get edt:mac
# скачать файлы 1C:EDT для Linux и Bellsoft JDK для DEB-based Linux-систем
oneget get edt:deb
# скачать файлы 1C:EDT для Linux и Bellsoft JDK для RPM-based Linux-систем
oneget get edt:rpm
# скачать файлы онлайн установщика 1C:EDT для Windows
oneget get edt:win.online Для проекта executor (Executor)
x- фильтр варианта для конкретной ОСu- фильтр для кросс-платформенного варианта
Важно! При указании варианта
xдобавьте фильтр по ОС, иначе будут скачаны оба варианта, для Windows и Linux (см. примеры)
Важно! При указании фильтра
uигнорируется фильтр по ОС
Пример использования:
export ONEC_USERNAME=user
export ONEC_PASSWORD=password
# cкачать дистрибутив Исполнителя для Windows версии 2.1.1.1
oneget get executor:win.x@2.1.1.1
# cкачать дистрибутивы Исполнителя для Windows и Linux версии 2.1.1.1
oneget get executor:x@2.1.1.1
# cкачать кросс-платформенный дистрибутив Исполнителя версии 2.1.1.1
oneget get executor:u@2.1.1.1В версии релиза может быть указан номер версии или специальные фильтры версии.
Если версия релиза пустая, то подставляется фильтр "latest" ("edt" -> "edt@latest")
Специальные фильтры версии релиза:
latest- выбирает наиболее старшую версию релизаlatest:regexp- фильтрует список версию поregexp, и берет наиболее старшуюfrom:date- фильтрует список версий по дате, у которых дата релиза большеdateгде,date- формате 02.06.21from-v:version- фильтрует список версий, которые старше версии релизаversionгде,version- формате номер версииregexp- фильтрует список по регулярному выражению указанному вregexp
Пример использования:
export ONEC_USERNAME=user
export ONEC_PASSWORD=password
# скачать файлы последней версию релиза 1C:EDT для Windows
oneget get edt:win@latest
# скачать файлы Платформы 1С. Предприятие для всех систем
# всех версии релизов, выпущенные начиная с даты 2020.01.01
oneget get platform@from:01.01.21
# скачать файлы Платформы 1С. Предприятие для DEB-based Linux-систем
# всех версии релизов, у которых версия старше чем 8.3.18.1363 но ниже 8.3.20
oneget get platform:deb.x64@from-v:8.3.18.1363
# скачать Платформу 1С. Предприятие для всех Linux-систем (.run)
# всех версии релизов, у которых версия старше чем 8.3.20
oneget get platform:linux.x64@8.3.20.1674
# скачать файлы сервера Платформы 1С. Предприятие для DEB-based Linux-систем
# последней выпущенной версии 8.3.16
oneget get platform:deb.server.x64@latest:8.3.16
# скачать файлы Платформы 1С. Предприятие для OSX
# всех версии релизов 8.3.16.x
oneget get platform:mac@8.3.16В команде get может быть указан один или несколько дополнительных фильтров с помощью флага
--filter ключ=значение. Ключ - это проект (platform,edtи тд) Значение дополнительного фильтра задается регулярным выражением. Дополнительные фильтры применяются поверх основных фильтров и только к url скачиваемого файла.
Пример использования:
export ONEC_USERNAME=user
export ONEC_PASSWORD=password
# скачать полный дистрибутив платформы 8.3.21.1302 x64 для Windows.
# Примечание: начиная с версии 8.3.21.1302 фирма 1С публикует несколько вариантов полных дистрибутивов:
# - классический
# - классический + Тонкие клиенты для других ОС для автоматического обновления через веб-сервер
# данный фильтр позволяет скачать именно классический вариант дистрибутива
oneget get --filter platform=windows64full_8 platform:win.full.x64@8.3.21.1302с версиии oneget v0.4.0 реализованна поддержка файлового сервера.
Запуск сервера осуществляется флагом --enableHttp или установкой для переменной среды $ONEGET_ENABLE_HTTP_SERVER.
Порт по умолчанию - 8080 или переопределяется параметром --serverPort или переменной среды $ONEGET_HTTP_SERVER_PORT
Пример запуска:
oneget --user $ONEC_USERNAME --pwd $ONEC_PASSWORD --enableHttp --serverPort 9000 get platform:linux.x64@8.3.20.1674После запуска файловый сервер будет доступен по адресу: http://localhost:9000
Рабочий каталог файлового сервера определяется параметром запуска --path или переменными среды $ONEGET_PATH, $ONEC_PATH. По умолчанию /downloads
Классический запуск приложения для загрузки дистрибутивов с https://users.1c.ru
docker run -v $(pwd):/tmp/dist v8platform/oneget \
--user $ONEC_USERNAME \
--pwd $ONEC_PASSWORD \
get \
platform:linux.x64@8.3.20.1674 \Важно: В текущем образе установлен HEALTHCHECK ,который устанавливает статус контейнера как rehealth: starting, до того момента пока файловый сервер не начинает отвечать на запрос curl. По этому, запуск контейнера может достаточно долгий, и зависит от скорости загрузки дистрибутива и ех объемов. Если не требуется ожидание запуска, то можно использовать образ v8platform/oneget:v0.4.0. В этом случае контейнер запустится, но файловый сервер будет недоступен, пое не закачаются все дистрибутивы
docker run \
-p 8080:8080 \
v8platform/oneget-http:0.4.0 \
--user $ONEC_USERNAME \
--pwd $ONEC_PASSWORD \
--enableHttp \
--debug \
get \
--path /tmp/download \
--extract \
platform:linux.full.x64@8.3.20.1674 После скачивания дистрибутивов и перевода контейнера в статус UP дистрибутивы платформы будут доступны по URL http://localhost:8080
Создать рядом с приложением файл logos.yaml с содержимым
appenders:
console:
- name: CONSOLE
target: stdout
encoder:
console:
rolling_file:
- name: FILE
file_name: ./logs/oneget.log
max_size: 100
max_age: 10
encoder:
json:
loggers:
root:
level: info
appender_refs:
- CONSOLE
logger:
- name: "github.com/v8platform/oneget"
appender_refs:
- CONSOLE
- FILE
level: debug
export LOGOS_CONFIG="appenders.rolling_file.0.name=FILE;
appenders.rolling_file.0.file_name=./logs/oneget.log;
appenders.rolling_file.0.max_size=100;
appenders.rolling_file.0.encoder.json;
loggers.logger.0.level=debug;
loggers.logger.0.name=github.com/v8platform/oneget;
loggers.logger.0.appender_refs.0=CONSOLE;
loggers.logger.0.appender_refs.1=FILE;"#TODO
Идея взята из этого проекта