GitLab을 읽기 전용 상태로 전환
GitLab을 읽기 전용 상태로 전환에 대해 설명합니다.
Note GitLab을 읽기 전용 상태로 두는 권장 방법은 유지 관리 모드 를 활성화하는 것입니다. 경우에 따라 GitLab을 읽기 전용 상태로 두어야 할 수 있습니다. 이때 필요한 구성은 원하는 결과에 따라 달라집니다. 리포지터리를 읽기 전용으로 만들기 # 가장 먼저 해야 할 일은 리포지터리가 변경되지 않도록 막는 것입니다. 다음 두 가지 방법 중 하나를 사용할 수 있습니다. Puma를 중지하여 내부 API에 접근할 수 없게 합니다. sudo gitlab-ctl stop puma 또는 Rails 콘솔을 엽니다. sudo gitlab-rails console 그런 다음 모든 프로젝트의 리포지터리를 읽기 전용으로 설정합니다. Project .all.find_each { | project | project.update!( repository_read_only: true ) } 일부 리포지터리만 읽기 전용으로 설정하려면 다음을 실행합니다. # List of project IDs of projects to set to read-only. projects = [ 1 , 2 , 3 ] projects.each do | p | project = Project .find p project.update!( repository_read_only: true ) rescue ActiveRecord : :RecordNotFound puts "Project ID #{p} not found" end 이 설정을 되돌릴 때는 해당 프로젝트의 repository_read_only 를 false 로 변경합니다. 예를 들어 다음을 실행합니다. Project .all.find_each { | project | project.update!( repository_read_only: false ) } GitLab UI 종료 # GitLab UI를 종료해도 괜찮다면 가장 간단한 방법은 sidekiq 와 puma 를 중지하는 것이며, 이렇게 하면 GitLab 이 변경되지 않도록 확실히 막을 수 있습니다. sudo gitlab-ctl stop sidekiq sudo gitlab-ctl stop puma 이 설정을 되돌릴 때는 다음을 실행합니다. sudo gitlab-ctl start sidekiq sudo gitlab-ctl start puma 데이터베이스를 읽기 전용으로 만들기 # 사용자가 GitLab UI를 계속 사용할 수 있게 하려면 데이터베이스를 읽기 전용으로 설정합니다. 예상과 다르게 진행될 경우에 대비하여 GitLab 백업 을 수행합니다. 관리자 사용자로 콘솔에서 PostgreSQL에 접속합니다. sudo \ -u gitlab-psql /opt/gitlab/embedded/bin/psql \ -h /var/opt/gitlab/postgresql gitlabhq_production gitlab_read_only 사용자를 생성합니다. 비밀번호는 mypassword 로 설정되어 있으며, 원하는 값으로 변경합니다. -- NOTE: Use the password defined ear