当我将图像从詹金斯推送到gcr时,会发生以下错误: 拒绝:无法编写blob sha256
即使我将注册表设置为公开,也不可能。发生相同的错误
答案 0 :(得分:1)
我一直面临着同样的问题,最终通过使用控制台UI移除有问题的Docker映像层来解决了这个问题:https://console.cloud.google.com/storage/browser/artifacts .. appspot.com/containers/images /
错误消息如下:
denied: Unable to write blob sha256:050eee1aec04cc914bf96e8f4dee7767510c2aca3816af6078ba6fbe3150920e
工件存储桶中的文件名将与blob名称完全匹配:sha256:050eee1aec04cc914bf96e8f4dee7767510c2aca3816af6078ba6fbe3150920e
。
删除它,然后重试。希望对您有帮助!
答案 1 :(得分:0)
使用以下命令推送到Google容器注册表。
nc_buff <- nc %>%
mutate(buf_wdt = ifelse(.$grp == 0, 4000, 8000)) %>%
st_buffer(., .$buf_wdt) %>%
select(-buf_wdt)
“ google_crd_file”是存储在Jenkins中的凭据的ID。
答案 2 :(得分:0)
我的问题听起来也一样。首先,我设法通过手动删除有冲突的图像,使用上述@ michael-bouvy的solutikon进行了临时修复。
我要永久解决该问题,是在GC IAM中将权限添加到执行推送的身份的相应自定义角色中。即,除了现有的:
storage.buckets.get
storage.objects.create
storage.objects.get
storage.objects.list
我又追加了两个:
storage.objects.delete
storage.objects.update
基本上,这些权限看起来像临时手动操作所需的权限。