Ruby on Rails

배포 및 프로덕션

Capistrano, Docker, Heroku, AWS, database.yml, credentials.yml.enc, 에셋 프리컴파일, 무중단 배포

20 면접 질문·
Senior
1

프로덕션 배포 전에 Rails 에셋을 프리컴파일하려면 어떤 명령을 사용해야 합니까?

답변

rails assets:precompile 명령은 모든 에셋(JavaScript, CSS, 이미지)을 캐시 무효화를 위한 핑거프린팅이 적용된 최적화된 파일로 컴파일합니다. 이 단계는 에셋을 효율적으로 제공할 수 있도록 준비하기 위해 모든 프로덕션 배포 전에 필수적입니다. RAILS_ENV=production 변수는 컴파일이 프로덕션 설정을 사용하도록 보장합니다.

2

Rails 7+는 프로덕션용 암호화된 credentials를 어느 파일에 저장합니까?

답변

Rails 7+는 secrets를 암호화하여 저장하기 위해 config/credentials.yml.enc를 사용합니다. 이 파일은 master key로 암호화되어 있으므로 리포지토리에 커밋할 수 있습니다. 특정 환경의 경우 Rails는 자체 복호화 키를 가진 config/credentials/production.yml.enc도 지원합니다.

3

Rails 배포 워크플로에서 Capistrano의 주요 역할은 무엇인가요?

답변

Capistrano는 SSH를 통해 원격 서버에서 명령을 실행하는 배포 자동화 도구입니다. symlink 시스템으로 릴리스를 관리하여 즉각적인 롤백을 가능하게 하고, migration을 실행하며, asset을 프리컴파일하고, 애플리케이션 서버를 재시작합니다. 버전 관리된 릴리스 방식 덕분에 배포 관리가 간단해집니다.

4

Rails 코드에서 credentials.yml.enc에 저장된 자격 증명에 어떻게 접근하나요?

5

프로덕션 환경에서 여러 개의 읽기 replica를 관리할 수 있게 해주는 database.yml 설정은 무엇인가요?

+17 면접 질문

다음 면접을 위해 Ruby on Rails을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기