Для чего это нужно?
Хочу все с автоматизировать.... все все и ничего не делать руками
- Скачать релиз платформы по любую платформу
- Скачать релиз конфигурации
- Скачать релиз edt
Как это сейчас работает?
Сейчас для скачивания релизов существует несколько способов:
1. Зайти на сайт https://releases.1c.ru/ и скачать релиз. Недостаток - много кликов мышки
2. Скрипты на bat/sh. Недостаток - специфичны для каждой платформы (windows, linux, macos). Порождает зоопарк..
3. Решения от 1С встроенные в конфигурации. не подходит для использования в автоматизированных процессах
Будет вот так
Решили упорядочить данный зоопарк решений и сделать единое приложения для загрузки файлов с https://releases.1c.ru/
Разработано приложение на golang для обеспечения единого интерфейса и название ему `oneget`
Адрес проекта https://github.com/v8platform/oneget
Как использовать
В приложении сейчас реализована одна команда get
Команда get
описание использования
Команда получения релизов проектов с сайта 1С https://releases.1c.ru/
Быстрый запуск:
export ONEC_USERNAME=user export ONEC_PASSWORD=password oneget get --path ./tmp/dist/ platform@8.3.18.1334 # or oneget --user user --pwd password get --path ./tmp/dist/ platform83@8.3.18.1334
Описание формата аргумента RELEASE
Шаблон формата 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
->platform83
edt
->DevelopmentTools10
ring
->EnterpriseLicenseTools
executor
->Executor
pg
->AddCompPostgre
Набор фильтров
Список предопределенных фильтров для проектов:
- По ОС:
win
,windows
- фильтр по MS Windowsmac
- фильтр по OS Xdeb
- фильтр по DEB-based Linux-системrpm
- фильтр по RPM-based Linux-систем
- По разрядности 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
- фильтр для файлов "Технологическая платформа" (только для Windows)
Важно! Для 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
Описание формата версии релиза
В версии релиза может быть указан номер версии или специальные фильтры версии.
Если версия релиза пустая, то подставляется фильтр "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 # or / или # oneget get edt:win # скачать файлы Платформы 1С. Предприятие для всех систем # всех версии релизов, выпущенные начиная с даты 2020.01.01 oneget platform@from:01.01.21 # скачать файлы Платформы 1С. Предприятие для DEB-based Linux-систем # всех версии релизов, у которых версия старше чем 8.3.18.1363 oneget platform:deb.x64@from-v:8.3.18.1363 # скачать файлы сервера Платформы 1С. Предприятие для DEB-based Linux-систем # последней выпущенной версии 8.3.16 oneget platform:deb.server.x64@latest:8.3.16 # скачать файлы Платформы 1С. Предприятие для OSX # всех версии релизов 8.3.16.x oneget platform:mac@8.3.16