使用声明性 Jenkinsfile 在 jenkins 中拉取 docker 图像
Pulling docker image in jenkins with using declarative Jenkinsfile
我已经使用应该执行的 Jenkinsfile 配置创建了 jenkins 作业
在 docker 容器中。
从 docker 集线器中拉取 docker 图像时出现问题:node:16-stretch
我收到如下错误:来自守护程序的错误响应:获取 https://registry-1.docker.io/v2/:未经授权:不正确的用户名或密码
下面我展示了我的 Jenkinsfile 的一部分,负责以声明方式拉取 docker 图像:
stages {
stage('Docker container initialize') {
agent {
docker {
image 'node:16-stretch'
reuseNode true
}
}
steps {
sh 'node --version'
sh 'yarn --version'
}
}
我需要 运行 节点版本 >=14.18.0 和 yarn >=1.22.0 的作业。图片node:16-stretch 满足这个要求。
我应该如何正确配置我的 jenkinsfile 才能拉出上面的图像?我应该在作业配置中还是在 Jenkinsfile 脚本中添加一些凭据?我将不胜感激:)
您需要在 Jenkins 服务器的凭据部分添加注册表凭据。您还应确保此管道有权访问这些凭据。完成该任务后,您可以访问 agent
指令中的凭据,例如:
agent {
docker {
image 'node:16-stretch'
reuseNode true
registryUrl 'https://registry-1.docker.io'
registryCredentialsId 'myRegistryCredentials'
}
}
其中 myRegistryCredentials
是您为注册表添加的凭据的名称。
我已经使用应该执行的 Jenkinsfile 配置创建了 jenkins 作业 在 docker 容器中。 从 docker 集线器中拉取 docker 图像时出现问题:node:16-stretch 我收到如下错误:来自守护程序的错误响应:获取 https://registry-1.docker.io/v2/:未经授权:不正确的用户名或密码
下面我展示了我的 Jenkinsfile 的一部分,负责以声明方式拉取 docker 图像:
stages {
stage('Docker container initialize') {
agent {
docker {
image 'node:16-stretch'
reuseNode true
}
}
steps {
sh 'node --version'
sh 'yarn --version'
}
}
我需要 运行 节点版本 >=14.18.0 和 yarn >=1.22.0 的作业。图片node:16-stretch 满足这个要求。 我应该如何正确配置我的 jenkinsfile 才能拉出上面的图像?我应该在作业配置中还是在 Jenkinsfile 脚本中添加一些凭据?我将不胜感激:)
您需要在 Jenkins 服务器的凭据部分添加注册表凭据。您还应确保此管道有权访问这些凭据。完成该任务后,您可以访问 agent
指令中的凭据,例如:
agent {
docker {
image 'node:16-stretch'
reuseNode true
registryUrl 'https://registry-1.docker.io'
registryCredentialsId 'myRegistryCredentials'
}
}
其中 myRegistryCredentials
是您为注册表添加的凭据的名称。