Трубопровод лазурной Дженкинс не может подтолкнуть к регистрации - PullRequest
0 голосов
/ 20 декабря 2018

Итак, я получил реестр докеров (реестр контейнеров Azure), в котором включен режим администратора и определены пароли.

В общем, моя консоль разработчика говорит следующее:

Successfully tagged croc-hunter:latest
[Pipeline] sh
+ docker tag croc-hunter reponame.azurecr.io/croc-hunter:master-862fa81
[Pipeline] sh
+ docker push reponame.azurecr.io/croc-hunter:master-862fa81
The push refers to repository [reponame.azurecr.io/croc-hunter]
d99341ecd82c: Preparing
99e8e786d815: Preparing
7790d1ef8abe: Waiting
3a3beb3675ab: Waiting
99e8e786d815: Retrying in 5 seconds
d99341ecd82c: Retrying in 5 seconds
8c11d1b2af3f: Retrying in 5 seconds
unknown: The operation is disallowed.

здесь я вхожу в реестр Docker:

withCredentials([[$class          : 'UsernamePasswordMultiBinding', credentialsId: config.container_repo.jenkins_creds_id,
                usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
  sh "docker login -u ${env.USERNAME} -p ${env.PASSWORD} ${config.container_repo.host}"
}

и Дженкинс говорит, что все хорошо:

+ docker login -u **** -p **** ****.azurecr.io
Login Succeeded

Я даже дошел до создания сервисного принципа и подключил его к скрипту jenkins через ENV vars и выполнил его до входа в докер:

  container('az') {
  withCredentials([azureServicePrincipal(credentialsId: config.container_repo.azure_creds_id,
                      subscriptionIdVariable: 'SUBS_ID',
                      clientIdVariable: 'CLIENT_ID',
                      clientSecretVariable: 'CLIENT_SECRET',
                      tenantIdVariable: 'TENANT_ID')]) {
      sh 'az login --service-principal -u $CLIENT_ID -p $CLIENT_SECRET -t $TENANT_ID'
    }
  }

, что приводит к этомуконсоль, так что все хорошо:

[
  {
    "cloudName": "AzureCloud",
    "id": "****",
    "isDefault": true,
    "name": "XXX Azure",
    "state": "Enabled",
    "tenantId": "****",
    "user": {
      "name": "****",
      "type": "servicePrincipal"
    }
  }
]

НО, это приводит к тем же ошибкам повторных попыток .... В чем здесь проблема ?!Следует отметить, что я не могу зайти в свой реестр с моего компьютера, либо войдя в docker login -u -p -.Повторная попытка в секунду и затем запрещение.

Может кто-нибудь помочь мне отладить это?В идеале я хочу, чтобы мой реестр не требовался для авторизации через az cli, просто через имя пользователя и пароль.

1 Ответ

0 голосов
/ 21 декабря 2018

Если ошибка показывает, что вы указываете, что Доступно в SKU: 0,0 ГБ для вашего ACR.Это означает, что у вас нет места для загрузки изображения.Таким образом, вам нужно больше памяти для вашего ACR.Взгляните на информацию о границах образа контейнера и хранилища для ACR .

. Можно изменить SKU ACR, для которого требуется максимальная емкость хранилища, например:

az acr update --name myregistry --sku Premium

Более подробная информация и некоторые ограничения здесь , и вам лучше обратить на это внимание.Надеюсь, это поможет вам.

...