Ситуация здесь такова, что у нас есть приложение, которое в настоящее время создается на подчиненном устройстве Jenkins с установленной версией определенного узла. Мы хотим стандартизировать среду сборки, и поэтому для этого нужно встроить его в контейнер докера.
Благодаря моему исследованию это определенно представляется возможным . Однако проблема для нас заключается в том, что мы хотим использовать собственные изображения, которыми мы сами управляем, и храним их в ECR. Мы не хотим использовать их на док-хабе. Имея это в виду, я пытаюсь пройти аутентификацию в нашем ECR в моем Jenkinsfile. В идеале я мог бы сделать что-то вроде этого:
pipeline {
agent {
docker {
image 'node:7'
registryUrl 'ecr_url.amazonaws.com'
registryCredentialsId 'ecr:us-east-1:iam_role'
}
}
stages {
stage('Build') {
steps {
sh 'command goes here'
}
}
}
}
Но проблема здесь в том, что наш вход в систему ECR основан на запуске команды оболочки на работнике Jenkins (на котором установлена aws cli) для входа в систему и доступа к образу. ,До сих пор мне не повезло, аутентификация в Jenkinsfile, так что я могу получить изображение для запуска сборки. Кто-нибудь знает, возможно ли это, и если да, как отредактировать Jenkinsfile, чтобы сделать это?