Как передать учетные данные Jenkins в Gradle? - PullRequest
2 голосов
/ 25 октября 2019

Я использую плагин Graib jib для создания образа докера и отправки его в реестр контейнеров Azure. До сих пор я добавил учетные данные имени пользователя и пароля в Jenkins и должен передать их Gradle. Получая доступ или передавая учетные данные Gradle, они маскируются. Надеюсь, ты сможешь мне помочь. Вот фрагменты кода:

build.gradle (конфигурация кливера):

jib {
    to {
        image = "myacr.azurecr.io/" + project.name
        tags = ["latest"]
        auth {
            // retrieve from Jenkins
            username System.properties['ACR_CREDENTIALS_USR']
            password System.properties['ACR_CREDENTIALS_PSW']
        }
    }
    container {
        jvmFlags = ["-Xms512M",  "-Xmx1G"]
        ports = ["5000/tcp", "8080/tcp"]
    }    
}

Jenkinsfile:

pipeline {
...
    environment {
        ACR_CREDENTIALS = credentials('myproject-acr') 
    }

    stages {
        ...
        stage('Push Docker Image to Registry') {
            steps {
                sh "./gradlew jib -PACR_CREDENTIALS_USR=${env.ACR_CREDENTIALS_USR} -PACR_CREDENTIALS_PSW=${env.ACR_CREDENTIALS_PSW}"
            }
        }
...

РЕДАКТИРОВАТЬ: в моем имени пользователя была опечатка

1 Ответ

1 голос
/ 28 октября 2019

У меня была опечатка в имени пользователя. Передача учетных данных Jenkins в качестве переменных среды работает, как и ожидалось. Вот мой код: build.gradle (конфигурация стрелы):

jib {
    to {
        image = "myacr.azurecr.io/" + project.name
        tags = ["latest"]
        auth {
            // retrieve from Jenkins
            username "${System.env.ACR_CREDENTIALS_USR}"
            password "${System.env.ACR_CREDENTIALS_PSW}"
        }
    }
    container {
        jvmFlags = ["-Xms512M",  "-Xmx1G"]
        ports = ["5000/tcp", "8080/tcp"]
    }    
}

Jenkinsfile:

pipeline {
...
    environment {
        ACR_CREDENTIALS = credentials('myproject-acr') 
    }

    stages {
        ...
        stage('Push Docker Image to Registry') {
            steps {
                sh "./gradlew jib"
            }
        }
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...