【发布时间】:2018-01-16 21:25:22
【问题描述】:
我正在尝试根据以下设置 jenkins 管道 this 文章,而是使用 google 容器注册表将 docker 镜像推送到。
问题:让我失望的部分是这个 jenkinsfile 阶段块
stage ('Push Docker Image To Container Registry') {
docker.image('google/cloud-sdk:alpine').inside {
sh "echo ${env.GOOGLE_AUTH} > gcp-key.json"
sh 'gcloud auth activate-service-account --key-file ./service-account-creds.json'
}
}
错误:
Please verify that you have permissions to write to the parent directory.)
ERROR: (gcloud.components.update) Could not create directory [/.config/gcloud]: Permission denied.
我无法运行任何与 gcloud 相关的命令,因为上面的错误是我一直得到的。
我尝试创建手动登录到 aws 实例的“/.config”目录并向所有人开放该文件夹的权限,但这也无济于事。
我也找不到任何地方如何使用 docker 为 jenkins 管道正确设置谷歌云。
非常感谢任何建议:)
【问题讨论】:
-
您好,为了更好地了解您的设置,请问您是在 Compute Engine 实例上运行 Jenkins 吗?如果是这样,如果您通过 SSH 连接到机器并手动运行 gcloud 命令,是否会产生同样的错误?
-
感谢您的回复!我在 aws ec2 实例上运行 jenkins,并且我没有在实例本身上安装 gcloud sdk,但我正在尝试使用 google cloud sdk 的 docker 映像来允许我执行管道的这一部分
标签: docker jenkins jenkins-pipeline google-authentication google-container-registry