Репозитории¶
На странице Репозитории приведен список всех существующих в Системе репозиториев. Каждый репозиторий представлен в виде отдельной строки.

Для каждого репозитория отображаются:
- Название.
- Формат (Maven, NuGet, NPM).
- Тип репозитория (Hosted, Proxy, Группа).
- URL-адрес репозитория.
В столбце Действия в строке репозитория расположены следующие кнопки:
- Загрузить артефакт в репозиторий (только для репозиториев типа Hosted).
- Редактировать конфигурацию репозитория. С помощью этой кнопки можно изменить следующие параметры:- Установить или сбросить флажок Репозиторий активен (принимает входящие запросы).
- Отредактировать значения параметров в конфигурационном JSON-файле репозитория. Описание параметров для разных типов репозиториев см. в разделе «Шаблоны репозиториев».
- Удалить, предназначенная для удаления репозитория.
Создание репозитория¶
Для добавления нового проекта на странице Репозитории нажмите на кнопку Добавить репозиторий.
На первом этапе создания репозитория:
- Выберите формат репозитория (Maven, NuGet, NPM).
- Выберите тип репозитория (Hosted, Proxy, Группа).
- Нажмите на кнопку Далее.
На втором этапе создания репозитория:
- Укажите Название репозитория. Название должно быть уникальным и может содержать только английские буквы, цифры, дефисы и точки.
- Установите или сбросьте флажок Репозиторий активен (принимает входящие запросы).
- Нажмите на кнопку Далее.
На третьем этапе создания репозитория:
- Заполните конфигурационный JSON-файл для создаваемого репозитория. Для этого нажмите на кнопку Заполнить по шаблону.
- Параметры появившегося JSON-файла можно отредактировать вручную. Описание параметров для разных типов репозиториев см. в разделе «Шаблоны репозиториев».
- Нажмите на кнопку Создать репозиторий.
При создании репозитория типа Группа в JSON-файле необходимо перечислить все репозитории, которые будут в него включены.
Например, для включения в репозиторий типа Группа трех репозиториев maven-releases, maven-snapshots и maven-central конфигурационный JSON-файл может выглядеть следующим образом:
{
"storage": {
"blobStoreName": "default",
"strictContentTypeValidation": false
},
"group": {
"memberNames": [
"maven-releases",
"maven-snapshots",
"maven-central"
]
}
}
Шаблоны репозиториев¶
Параметры шаблонов, используемых при создании различных типов репозиториев, приведены ниже.
Maven Hosted - репозиторий для хранения собственных Maven артефактов¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| storage.blobStoreName | Имя хранилища для хранения содержимого репозитория | default |
| storage.strictContentTypeValidation | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория | true |
| storage.writePolicy | Политика записи: allow (разрешено), allow_once (только один раз), deny (запрещено) | allow_once |
| cleanup.policyNames | Список политик очистки, компоненты, соответствующие любой из политик, будут удалены | [] |
| maven.versionPolicy | Тип артефактов: RELEASE (релизные), SNAPSHOT (снимки), MIXED (смешанные) | RELEASE |
| maven.layoutPolicy | Политика макета: STRICT (строгая), PERMISSIVE (разрешающая) | STRICT |
| maven.contentDisposition | Способ отображения контента: INLINE (встроенный), ATTACHMENT (вложение) | INLINE |
Maven Proxy - прокси для удалённого Maven репозитория¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| storage.blobStoreName | Имя хранилища для хранения содержимого репозитория | default |
| storage.strictContentTypeValidation | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория | true |
| proxy.remoteUrl | URL удаленного репозитория, который проксируется | https://repo1.maven.org/maven2/ |
| proxy.contentMaxAge | Время кэширования артефактов перед повторной проверкой удаленного репозитория (в минутах) | 1440 |
| proxy.metadataMaxAge | Время кэширования метаданных перед повторной проверкой удаленного репозитория (в минутах) | 1440 |
| negativeCache.enabled | Кэшировать ли ответы для контента, отсутствующего в проксируемом репозитории | true |
| negativeCache.timeToLive | Время кэширования факта отсутствия файла в репозитории (в минутах) | 1440 |
| httpClient.blocked | Блокировать ли исходящие соединения для репозитория | false |
| httpClient.autoBlock | Автоматически блокировать исходящие соединения при обнаружении недоступности удаленного узла | true |
| maven.versionPolicy | Тип артефактов: RELEASE (релизные), SNAPSHOT (снимки), MIXED (смешанные) | RELEASE |
| maven.layoutPolicy | Политика макета: STRICT (строгая), PERMISSIVE (разрешающая) | STRICT |
Maven Group - группа Maven репозиториев¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| storage.blobStoreName | Имя хранилища для хранения содержимого репозитория | default |
| storage.strictContentTypeValidation | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория | true |
| group.memberNames | Список имен репозиториев-участников группы, например: "memberNames": [ "maven-releases", "maven-snapshots", "maven-central" ] |
[] |
NuGet Hosted - репозиторий для хранения собственных NuGet пакетов¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| storage.blobStoreName | Имя хранилища для хранения содержимого репозитория | default |
| storage.strictContentTypeValidation | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория | true |
| storage.writePolicy | Политика записи: allow (разрешено), allow_once (только один раз), deny (запрещено) | allow_once |
| cleanup.policyNames | Список политик очистки, компоненты, соответствующие любой из политик, будут удалены | [] |
NuGet Proxy - прокси для NuGet Gallery¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| storage.blobStoreName | Имя хранилища для хранения содержимого репозитория | default |
| storage.strictContentTypeValidation | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория | true |
| proxy.remoteUrl | URL удаленного репозитория, который проксируется | https://api.nuget.org/v3/index.json |
| proxy.contentMaxAge | Время кэширования артефактов перед повторной проверкой удаленного репозитория (в минутах) | 1440 |
| proxy.metadataMaxAge | Время кэширования метаданных перед повторной проверкой удаленного репозитория (в минутах) | 1440 |
| negativeCache.enabled | Кэшировать ли ответы для контента, отсутствующего в проксируемом репозитории | true |
| negativeCache.timeToLive | Время кэширования факта отсутствия файла в репозитории (в минутах) | 1440 |
| httpClient.blocked | Блокировать ли исходящие соединения для репозитория | false |
| httpClient.autoBlock | Автоматически блокировать исходящие соединения при обнаружении недоступности удаленного узла | true |
| nugetProxy.queryCacheItemMaxAge | Время кэширования результатов запросов из проксируемого репозитория (в секундах) | 3600 |
| nugetProxy.nugetVersion | Версия протокола NuGet: V2 (старая), V3 (новая) | V3 |
NuGet Group - группа NuGet репозиториев¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| storage.blobStoreName | Имя хранилища для хранения содержимого репозитория | default |
| storage.strictContentTypeValidation | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория | true |
| group.memberNames | Список имен репозиториев-участников группы | [] |
NPM Hosted - репозиторий для хранения собственных NPM пакетов¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| storage.blobStoreName | Имя хранилища для хранения содержимого репозитория | default |
| storage.strictContentTypeValidation | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория | true |
| storage.writePolicy | Политика записи: allow (разрешено), allow_once (только один раз), deny (запрещено) | allow_once |
| cleanup.policyNames | Список политик очистки, компоненты, соответствующие любой из политик, будут удалены | [] |
NPM Proxy - прокси для NPM Registry¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| storage.blobStoreName | Имя хранилища для хранения содержимого репозитория | default |
| storage.strictContentTypeValidation | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория | true |
| proxy.remoteUrl | URL удаленного репозитория, который проксируется | https://registry.npmjs.org |
| proxy.contentMaxAge | Время кэширования артефактов перед повторной проверкой удаленного репозитория (в минутах) | 1440 |
| proxy.metadataMaxAge | Время кэширования метаданных перед повторной проверкой удаленного репозитория (в минутах) | 1440 |
| negativeCache.enabled | Кэшировать ли ответы для контента, отсутствующего в проксируемом репозитории | true |
| negativeCache.timeToLive | Время кэширования факта отсутствия файла в репозитории (в минутах) | 1440 |
| httpClient.blocked | Блокировать ли исходящие соединения для репозитория | false |
| httpClient.autoBlock | Автоматически блокировать исходящие соединения при обнаружении недоступности удаленного узла | true |
NPM Group - группа NPM репозиториев¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| storage.blobStoreName | Имя хранилища для хранения содержимого репозитория | default |
| storage.strictContentTypeValidation | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория | true |
| group.memberNames | Список имен репозиториев-участников группы | [] |