Передайте учетные данные Jenkins в Docker build для Composer использования - PullRequest
2 голосов
/ 17 марта 2020

У меня есть composer пакеты в частном репозитории нашей компании на BitBucket. Для доступа к нему мне нужно использовать учетные данные, хранящиеся в Jenkins. В настоящее время вся сборка основана на декларативном конвейере и Dockerfile. Чтобы передать учетные данные в Composer, мне нужны эти учетные данные на этапе build, чтобы передать их в Dockerfile.

Как мне этого добиться?

Я пробовал:

// Jenkinsfile
agent {
    dockerfile {
        label 'mylabel'
        filename '.docker/php/Dockerfile'
        args '-v /net/jenkins-ex-work/workspace:/net/jenkins-ex-work/workspace'
        additionalBuildArgs '--build-arg jenkins_usr=${JENKINS_CREDENTIALS_USR} --build-arg jenkins_credentials=${JENKINS_CREDENTIALS} --build-arg test_arg=test'
    }
}

// Dockerfile
ARG jenkins_usr
ARG jenkins_credentials
ARG test_arg

Но args пустые.

1 Ответ

1 голос
/ 25 марта 2020

Возникла похожая проблема , предположительно исправленная в PR 327 , с pipe-model-definition-description-1.3.9

Так что начните проверять версию своего Плагин.

Но обратите внимание также на предупреждение Dockerfile :

Не рекомендуется использовать переменные времени сборки для передачи таких секретов, как ключи github, учетные данные пользователя и т. д. c.
Значения переменных времени сборки видны любому пользователю изображения с помощью команды docker history.

Использование buildkit с --secret лучший подход для этого.

...