有两种方法可以确保用户不能对您的仓库进行任何更改,即将仓库设为只读状态。
一、停止 Puma 以使内部 API 无法访问
sudo gitlab-ctl stop puma
二、通过 Rails 设置仓库状态
打开 Rails 控制台:
docker exec -it gitlab gitlab-rails console
docker exec -ti gitlab /bin/bash
sudo gitlab-rails console
并将所有项目的仓库设置为只读:
Project.all.find_each { |project| project.update!(repository_read_only: true) }
当您准备好恢复它时,可以使用以下命令执行此操作:
Project.all.find_each { |project| project.update!(repository_read_only: false) }
1、如何将指定仓库设置成只读状态?
# 打印仓库属性
print(Project.find_by_full_path('group_name/project_name').attributes)
# 设置只读状态
Project.find_by_full_path('group_name/project_name').update!(repository_read_only: nil)
# 再次打印检查是否设置成功
print(Project.find_by_full_path('group_name/project_name').attributes)
2、获取指定群组下的项目
group = Group.find_by_full_path('群组的完整路径') # 替换为你的群组路径
group.projects.each do |project|
puts project.name_with_namespace
end
网友评论