
나의 경우는 일단 import source 설정임..
일단 docker에 gitlab이 올라가 있음.
먼저 서버 커맨드라인에서
docker exec -it gitlab bash
docker 내부 진입 후
root@git:/# gitlab-rails console
대략 2~3분 기다렸다..
그러면 갑자기 내부로 진입하면서
irb(main):043:0>
이런 커맨드라인이 나타단다.
이제 아래 내용을 입력했다.
settings = ApplicationSetting.current
settings.import_sources = ["gitlab_project", "gitea", "github"]
settings.save!
! 아래 에러 발생 시 raise_validation_error': Validation failed: Help page documentation base url is blocked: execution expired, Diagramsnet url is blocked: execution expired, Public runner releases url is blocked: execution expired (ActiveRecord::RecordInvalid)
settings = ApplicationSetting.current
settings.import_sources = ["gitlab_project", "gitea"]
settings.help_page_documentation_base_url = nil
settings.diagramsnet_url = nil
settings.public_runner_releases_url = nil
settings.save!
! 위 내용대로 했는데 또 아래 에러로 이어질 시
raise_validation_error': Validation failed: Diagramsnet url can't be blank, Diagramsnet url must be a valid URL, Public runner releases url must be a valid URL, Public runner releases url can't be blank (ActiveRecord::RecordInvalid)
settings = ApplicationSetting.current
settings.import_sources = ["gitlab_project", "gitea"]
settings.help_page_documentation_base_url = "https://docs.gitlab.com"
settings.diagramsnet_url = "https://www.diagrams.net/"
settings.public_runner_releases_url = "https://gitlab-runner-downloads.s3.amazonaws.com/latest/index.html"
settings.save!
! 위 내용대로 했는데 또또 아래 에러로 이어질 시
PG::ConnectionBad: PQconsumeInput() FATAL: terminating connection due to idle-in-transaction timeout (ActiveRecord::StatementInvalid)
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
/opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/postgresql/database_statements.rb:48:in exec': PQconsumeInput() FATAL: terminating connection due to idle-in-transaction timeout (PG::ConnectionBad)
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
/opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/activerecord-7.0.8/lib/active_record/validations.rb:80:in raise_validation_error': Validation failed: Help page documentation base url is blocked: execution expired, Diagramsnet url is blocked: execution expired, Public runner releases url is blocked: execution expired (ActiveRecord::RecordInvalid)
즉, (PostgreSQL이 트랜잭션 중 연결을 강제 종료)
settings = ApplicationSetting.current
settings.update_column(:import_sources, ["gitlab_project", "gitea"])
강제 업데이트를 했다.. 부작용은 모르겠다..
irb(main):043:0> Gitlab::CurrentSettings.import_sources
이제 성공했는지 내용을 확인했는데, []로 나온다..
DB에는 값을 넣었지만, Rails 인스턴스 메모리에서는 아직 반영되지 않은 상태...
즉, Gitlab::CurrentSettings는 내부적으로 캐시된 설정을 참조
그래서 DB에 바로 반영되었더라도, 캐시가 갱신되지 않으면 반영되지 않은 것처럼 보임.
GitLab 설정 캐시 수동 초기화
ApplicationSetting.reset_current_application_settings
Gitlab::CurrentSettings.import_sources
! 이렇게 했는데 캐시 수동 초기화 문제가 생기면?
method_missing': undefined method reset_current_application_settings' for ApplicationSetting:Class (NoMethodError)
Did you mean? reset_open_transactions_baseline
settings = ApplicationSetting.current
settings.update_column(:import_sources, ["gitlab_project", "gitea"])
Gitlab::CurrentSettings.clear_memoization(:current_application_settings)
Gitlab::CurrentSettings.import_sources
# => ["gitlab_project", "gitea"]
해결!
이제 관리자에 가면 체크가 되어 있음.

아 2시간을 삽질했네..
'Docker' 카테고리의 다른 글
| [Gitea] docker로 gitea 구축하기 (Feat. MariaDB) (2) | 2025.08.18 |
|---|---|
| docker로 Oracle 19c SERVER 구축하기 (Oracle 19c server for docker) (0) | 2023.09.21 |
| docker로 MariaDB SERVER 구축하기 (mariadb server for docker) (0) | 2023.09.19 |
| docker로 MS-SQL SERVER 구축하기 (mssql server for docker) (0) | 2023.09.18 |
| podman - rootless, daemonless (0) | 2022.05.12 |
댓글