вход в докер на Дженкинс - PullRequest
1 голос
/ 29 апреля 2019

У меня есть это:

docker login -u AWS --password-stdin https://aws_account_id.dkr.ecr.us-east-1.amazonaws.com
Error: Cannot perform an interactive login from a non TTY device
Build step 'Execute shell' marked build as failure

как мы можем запустить вход в докер (или эквивалент) на сервере Jenkins?

Мне удалось обойти эту проблему с помощью:

eval "$(aws ecr get-login --no-include-email --region ${region} --profile ${profile})"

но я получаю эту ошибку после попытки запустить docker push:

без базовых учетных данных аутентификации

Ответы [ 2 ]

1 голос
/ 30 апреля 2019

Как уже упоминал @ matt-schuchard, вы можете использовать Docker Pipeline Plugin . В моем случае я использовал docker.withRegistry([...]). Найдите ниже полный пример:

node {
    def app

    stage('Clone repository') {
        /* Clone your repo */

    }

    stage('Build image') {
        /* Build your image */

        app = docker.build("<image name>")
    }

    stage('Push image') {
        /* Push image using withRegistry. */
        docker.withRegistry('<your docker registry>', 'docker-private-credentials') {
            app.push("${env.BUILD_NUMBER}")
            app.push("latest")
        }
    }
}
0 голосов
/ 14 июня 2019

Используйте ecr: us-east-1, используя ecr в качестве префикса, работающего в моем случае.Я потратил столько времени на отладку этого.Я желаю, чтобы они обновили документацию на сам плагин.Это было ясно упомянуто в https://blog.mikesir87.io/2016/04/pushing-to-ecr-using-jenkins-pipeline-plugin/, но я пропустил это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...