云南网站设计平台,wordpress怎么发布公告,网站模版怎么样,网站制作加我当/etc/gitlab/gitlab-secrets.json文件丢失时
如果您没有备份secrets文件#xff0c;则必须完成几个步骤才能使GitLab重新正常工作。
secrets文件负责存储包含必需的敏感信息的列的加密密钥。如果密钥丢失#xff0c;GitLab将无法解密这些列#xff0c;从而阻止对以下项目…当/etc/gitlab/gitlab-secrets.json文件丢失时
如果您没有备份secrets文件则必须完成几个步骤才能使GitLab重新正常工作。
secrets文件负责存储包含必需的敏感信息的列的加密密钥。如果密钥丢失GitLab将无法解密这些列从而阻止对以下项目的访问
CI/CD变量Kubernetes / GCP集成自定义页面域项目错误跟踪Runner认证项目镜像集成webhooks
在CI/CD变量和runner认证等情况下您可能遭遇未曾预料到的结果例如
工作卡住了访问页面报500错误。
在这种情况下您必须重置CI/CD变量和runner身份验证的所有令牌这将在以下部分中详细描述。重置令牌后您应该能够访问项目作业开始再次运行。
本节中的步骤可能会导致上述项目的数据丢失。如果您是Premium或Ultimate客户请考虑技术支持请求。
验证是否可以解密所有值
您可以确定数据库是否包含无法使用Rake任务解密的值。
sudo gitlab-rake gitlab:doctor:secrets![[Pasted image 20231213164644.png]]
进行备份
您必须直接修改GitLab数据以解决丢失的secrets文件。
请确保在尝试任何更改之前创建完整的数据库备份。
禁用用户双因素身份验证2FA
启用2FA的用户无法登录GitLab。在这种情况下您必须为每个人禁用2FA之后用户必须重新激活2FA。
重置CI/CD变量 进入数据库控制台 对于Linux包OmnibusGitLab 14.1及更早版本 sudo gitlab-rails dbconsole对于Linux包OmnibusGitLab 14.2及更高版本 sudo gitlab-rails dbconsole --database main检查 ci_group_variables 和 ci_variables 表 SELECT * FROM public.ci_group_variables;
SELECT * FROM public.ci_variables;这些是你需要删除的变量。 删除所有变量 DELETE FROM ci_group_variables;
DELETE FROM ci_variables;如果您知道要从中删除变量的特定组或项目则可以在 DELETE 中包含一个 WHERE 语句来指定 DELETE FROM ci_group_variables WHERE group_id GROUPID;
DELETE FROM ci_variables WHERE project_id PROJECTID;您可能需要重新配置或重新启动GitLab以使更改生效。
重置跑步者注册令牌 进入数据库控制台 对于Linux包OmnibusGitLab 14.1及更早版本 sudo gitlab-rails dbconsole对于Linux包OmnibusGitLab 14.2及更高版本 sudo gitlab-rails dbconsole --database main清除项目、组和整个实例的所有令牌 最后的 UPDATE 操作会阻止跑步者获得新的作业。你必须注册新的跑步者。 -- Clear project tokens
UPDATE projects SET runners_token null, runners_token_encrypted null;
-- Clear group tokens
UPDATE namespaces SET runners_token null, runners_token_encrypted null;
-- Clear instance tokens
UPDATE application_settings SET runners_registration_token_encrypted null;
-- Clear key used for JWT authentication
-- This may break the $CI_JWT_TOKEN job variable:
-- https://gitlab.com/gitlab-org/gitlab/-/issues/325965
UPDATE application_settings SET encrypted_ci_jwt_signing_key null;
-- Clear runner tokens
UPDATE ci_runners SET token null, token_encrypted null;重置挂起的管道作业 进入数据库控制台 对于Linux包OmnibusGitLab 14.1及更早版本 sudo gitlab-rails dbconsole对于Linux包OmnibusGitLab 14.2及更高版本 sudo gitlab-rails dbconsole --database main清除挂起作业的所有令牌 对于GitLab 15.3及更早版本 -- Clear build tokens
UPDATE ci_builds SET token null, token_encrypted null;对于GitLab 15.4及更高版本 -- Clear build tokens
UPDATE ci_builds SET token_encrypted null;类似的策略可以用于其余特征。通过删除无法解密的数据GitLab可以恢复运行并且可以手动替换丢失的数据。
修复集成和webhooks
如果您丢失了您的secrets集成设置和webhooks设置页面可能会显示 500 错误消息。当您尝试使用先前配置的集成或webhook访问项目仓库时丢失secrets也可能产生 500 错误。
修复方法是截断受影响的表包含加密列的表。这将删除所有已配置的集成、webhook和相关元数据。在删除任何数据之前您应该验证secrets是根本原因。 进入数据库控制台 对于Linux包OmnibusGitLab 14.1及更早版本 sudo gitlab-rails dbconsole对于Linux包OmnibusGitLab 14.2及更高版本 sudo gitlab-rails dbconsole --database main截断以下表格 -- truncate web_hooks table
TRUNCATE integrations, chat_names, issue_tracker_data, jira_tracker_data, sl
**加粗样式**