Docker部署GitLab备份至Azure Blob存储失败求助
问题:Docker部署GitLab备份至Azure Blob存储失败(InvalidResourceName)
当前环境
已部署两个Docker容器,容器信息如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 797e3c6818a7 gitlab/gitlab-runner:latest "/usr/bin/dumb-init …" 2 hours ago Up 2 hours gitlab-runner ba53133df54b gitlab/gitlab-ee:16.5.1-ee.0 "/assets/wrapper" 2 hours ago Up 2 hours (healthy) 80/tcp, 443/tcp, 0.0.0.0:8***->8***/tcp, 0.0.0.0:2224->22/tcp gitlab-ee
本地备份测试正常,导入测试数据后功能正常。
配置内容
按照GitLab官方文档配置Azure Blob存储远程备份,配置如下:
gitlab_rails['backup_upload_connection'] = { 'provider' => 'AzureRM', 'azure_storage_account_name' => 'sac********', 'azure_storage_access_key' => 'o*****************************************==', 'azure_storage_domain' => 'blob.core.windows.net', # Optional } gitlab_rails['backup_upload_remote_directory'] = 'https://sac*********.blob.core.windows.net/backups'
报错信息
备份失败,报错如下:
Caused by: Azure::Core::Http::HTTPError: InvalidResourceName (400): The specifed resource name contains invalid characters. RequestId:4f4cf6cf-a01e-0000-5e5d-334f7f000000 Time:2023-12-20T16:02:50.9411709Z /opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:345:in `upload' /opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:234:in `run_all_create_tasks' /opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:47:in `create' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:13:in `block in create_backup' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:62:in `lock_backup' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:10:in `create_backup' /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:101:in `block (3 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:25:in `load' /opt/gitlab/embedded/bin/bundle:25:in `<main>' Tasks: TOP => gitlab:backup:create
解决方案
- 修正配置错误:
gitlab_rails['backup_upload_remote_directory']字段只需填写Azure Blob存储的容器名称,不需要带完整URL。当前配置中的https://sac*********.blob.core.windows.net/backups包含://、.等Azure容器名称不允许的特殊字符,导致报错。修正后的配置应为:gitlab_rails['backup_upload_remote_directory'] = 'backups' - 重新加载GitLab配置:在GitLab容器内执行
gitlab-ctl reconfigure - 再次测试备份:执行
gitlab-backup create
内容的提问来源于stack exchange,提问作者mac
相关产品推荐
相关产品推荐

