Перейти к содержанию

Репозитории

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

Для каждого репозитория отображаются:

  • Название.
  • Формат (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 Список политик очистки, компоненты, соответствующие любой из политик, будут удалены []
Параметр Описание Значение по умолчанию
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 Список имен репозиториев-участников группы []