Rails 콘솔
Rails 콘솔을 사용하여 GitLab 인스턴스와 직접 상호 작용하는 방법, Active Record 모델 조회, 데이터베이스 쿼리, Rails Runner 사용법을 설명합니다.
GitLab의 핵심은 Ruby on Rails 프레임워크로 구축된 웹 애플리케이션입니다. Rails 콘솔 은 명령줄에서 GitLab 인스턴스와 상호 작용하는 방법을 제공하며, Rails에 그대로 내장된 놀라운 도구에 대한 액세스도 부여합니다. Warning Rails 콘솔은 GitLab과 직접 상호 작용합니다. 많은 경우 프로덕션 데이터를 영구적으로 수정하거나 손상시키거나 파괴하는 것을 막아 주는 안전장치가 없습니다. 아무런 여파 없이 Rails 콘솔을 살펴보려면 테스트 환경에서 진행할 것을 강력히 권장합니다. Rails 콘솔은 문제를 해결하고 있거나, GitLab 애플리케이션에 직접 접근해야만 가져올 수 있는 데이터가 필요한 GitLab 시스템 관리자를 위한 것입니다. Ruby에 대한 기본 지식이 필요합니다(간단한 입문으로는 30분 분량의 이 튜토리얼 을 참고합니다). Rails 경험은 유용하지만 필수는 아닙니다. Rails 콘솔 세션 시작 # Rails 콘솔 세션을 시작하는 절차는 GitLab 설치 유형에 따라 다릅니다. Linux package (Omnibus) Docker Self-compiled (source) Helm chart (Kubernetes) sudo gitlab-rails console docker exec -it <container-id> gitlab-rails console sudo -u git -H bundle exec rails console -e production namespace=<namespace> kubectl exec -it --namespace "$namespace" -c toolbox "$(kubectl get pods --namespace "$namespace" -lapp=toolbox -o jsonpath='{.items[0].metadata.name}')" -- gitlab-rails console 콘솔을 종료하려면 quit 를 입력합니다. 자동 완성 비활성화 # Ruby 자동 완성은 터미널을 느리게 만들 수 있습니다. 다음과 같이 설정합니다. 자동 완성을 비활성화하려면 Reline.autocompletion = IRB.conf[:USE_AUTOCOMPLETE] = false 를 실행합니다. 자동 완성을 다시 활성화하려면 Reline.autocompletion = IRB.conf[:USE_AUTOCOMPLETE] = true 를 실행합니다. Active Record 로깅 활성화 # Rails 콘솔 세션에서 Active Record 디버그 로깅 출력을 활성화하려면 다음을 실행합니다. ActiveRecord : :Base .logger = Logger .new( $stdout ) 기본적으로 앞의 스크립트는 표준 출력에 로그를 기록합니다. $stdout 을 원하는 파일 경로로 바꾸면 출력을 리디렉션할 로그 파일을 지정할 수 있습니다. 예를 들어 다음 코드는 모든 내용을 /tmp/output.log 에 기록합니다. ActiveRecord : :Base .logger = Logge