Symfony

Deployment & DevOps

Docker, CI/CD, Deployer, 환경 변수, secrets 관리, monitoring, logging

20 면접 질문·
Senior
1

로컬 개발에서 Symfony 애플리케이션(PHP-FPM, Nginx, PostgreSQL)의 서비스를 정의하기 위해 권장되는 Docker 파일은 무엇인가요?

답변

Docker Compose(docker-compose.yml 또는 compose.yaml)를 사용하면 여러 Docker 컨테이너를 정의하고 오케스트레이션할 수 있습니다. Symfony에서는 일반적으로 코드를 실행하는 PHP-FPM 서비스, 웹 서버로서의 Nginx, 데이터베이스용 PostgreSQL을 정의합니다. 이 방식은 팀 전체에 동일하고 프로덕션에 가까운 개발 환경을 보장합니다.

2

개발 환경과 프로덕션 환경에서 다르게 하기 위해 Symfony에서 환경 변수 DATABASE_URL을 올바르게 정의하려면 어떻게 해야 하나요?

답변

Symfony는 기본값에는 .env 파일을, 로컬 오버라이드(버전 관리 제외)에는 .env.local을 사용합니다. 프로덕션에서는 시스템 환경이나 서버 secrets를 통해 변수를 직접 정의하는 것이 좋습니다. .env.local 파일은 절대 커밋되지 않으며 각 개발자가 자신만의 설정을 가질 수 있게 해줍니다.

3

프로덕션에서 secrets(API 키, 비밀번호)를 안전하게 관리할 수 있는 Symfony 명령어는 무엇인가요?

답변

Symfony Secrets를 사용하면 민감한 데이터를 암호화하여 저장할 수 있습니다. secrets는 config/secrets/에 저장되고 키로 암호화됩니다. secrets:set 명령어로 새 secret을 추가하며, 복호화 키를 가진 환경만 값을 읽을 수 있습니다. 이것이 프로덕션 자격 증명에 권장되는 방법입니다.

4

Deployer란 무엇이며 Symfony 애플리케이션 배포에 어떤 주요 이점을 제공하나요?

5

Symfony용 CI/CD 파이프라인에서 주요 단계의 권장 순서는 무엇인가요?

+17 면접 질문

다음 면접을 위해 Symfony을 마스터하세요

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

무료로 시작하기