как установить repoLayoutRef по коду для удаленного docker - PullRequest
0 голосов
/ 02 апреля 2020

Когда объявляем удаленный docker репозиторий внутри docker с помощью файла yaml (см. https://www.jfrog.com/confluence/display/JFROG/Artifactory+YAML+Configuration), я не могу установить repoLayoutRef в simple-default. если я хочу сохранить его определение GUI, я вижу, что определение repoLayoutRef должно быть установлено, поэтому я полагаю, что оно обязательно. Если repoLayout не установлен, удаленный репозиторий docker не работает.

Файл yaml не позволяет установить его

Я пытаюсь с содержимым param.yaml

remoteRepositories
  docker-via-intranet:
    type: docker
    url: https://dockerproxy.mydomain
    proxy: intranet-proxy
    enableTokenAuthentication: true
export BASE_URL="http://localhost:8081/artifactory"
export AUTH=" -u admin:((jcr_admin_password))"

curl $AUTH -X PATCH "http://localhost:8081/artifactory/api/system/configuration" -H "Content-Type:application/yaml" -T param.yml

Если я загляну внутрь сгенерированного yaml, то увижу, что обязательное поле отсутствует:
<repoLayoutRef>simple-default<repoLayoutRef>

см .:

      <remoteRepository>
            <key>docker-via-intranet</key>
            <type>docker</type>
            <includesPattern>**/*</includesPattern>
            <dockerApiVersion>V2</dockerApiVersion>
            <forceNugetAuthentication>false</forceNugetAuthentication>
            <blackedOut>false</blackedOut>
            <handleReleases>true</handleReleases>
            <handleSnapshots>true</handleSnapshots>
            <maxUniqueSnapshots>0</maxUniqueSnapshots>
            <maxUniqueTags>0</maxUniqueTags>
            <blockPushingSchema1>true</blockPushingSchema1>
            <suppressPomConsistencyChecks>true</suppressPomConsistencyChecks>
            <propertySets/>
            <archiveBrowsingEnabled>false</archiveBrowsingEnabled>
            <url>https://registry-1.docker.io/</url>
            <offline>false</offline>
            <hardFail>false</hardFail>
            <storeArtifactsLocally>true</storeArtifactsLocally>
            <fetchJarsEagerly>false</fetchJarsEagerly>
            <fetchSourcesEagerly>false</fetchSourcesEagerly>
            <retrievalCachePeriodSecs>7200</retrievalCachePeriodSecs>
            <assumedOfflinePeriodSecs>300</assumedOfflinePeriodSecs>
           <unusedArtifactsCleanupPeriodHours>0</unusedArtifactsCleanupPeriodHours>
            <shareConfiguration>false</shareConfiguration>
            <synchronizeProperties>false</synchronizeProperties>
            <listRemoteFolderItems>true</listRemoteFolderItems>
            <rejectInvalidJars>false</rejectInvalidJars>
            <blockMismatchingMimeTypes>true</blockMismatchingMimeTypes>
            <bypassHeadRequests>false</bypassHeadRequests>
            <allowAnyHostAuth>false</allowAnyHostAuth>
            <socketTimeoutMillis>15000</socketTimeoutMillis>
            <enableCookieManagement>false</enableCookieManagement>
            <enableTokenAuthentication>false</enableTokenAuthentication>
            <proxyRef>internet-proxy</proxyRef>
            <propagateQueryParams>false</propagateQueryParams>
        </remoteRepository>

1 Ответ

1 голос
/ 03 апреля 2020

Вы должны использовать параметр "repoLayout" для установки макета хранилища, например:

remoteRepositories:
  test-docker:
    type: docker
    url: https://dockerproxy.mydomain
    enableTokenAuthentication: true
    repoLayout: simple-default
...