[Laravel] Sail 설정 및 php unittest 설정하기

2022. 4. 12. 15:54프로그래밍/PHP

0. 개발 환경
  • mac os (intel, apple silicon)
  • phpstorm
  • docker
  • laravel 9.x
  • laravel sail
 
DB
  • redis
  • mysql 8.x
1. 프로젝트 설정
  • Git Clone
  • 프로젝트 의존성 패키지 설치
  • Sail 커맨드 전역 설정 (선택)
vi ~/.zshrc

# 전역으로 sail 커맨드 입력 가능하게 환경설정 설정
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
  • 인터프리터 설정
 
 
 
(이미지 이름은 도커 컨테이너 이름과 동일함)

 
  • Env 파일 설정(필수)
# sail Config
APP_PORT=[PORT]    ## PORT는 호스트 <--> 컨테이너간 사용하는 포트임으로 기존에 사용중인 포트와 중복되지 않게 설정할 것
FORWARD_DB_PORT=[PORT]
FORWARD_REDIS_PORT=[PORT]
SAIL_XDEBUG_MODE=debug
SAIL_XDEBUG_CONFIG='client_host=host.docker.internal client_port=9003 start_with_request=yes'
  • Docker Compose 설정 (선택)
------------------------------------------------------------------------
# docker-compose.yml 파일에서 수정
------------------------------------------------------------------------
services:
    laravel.test:

=>

services:
    I_want_go_home:
혹은
    I_want.sleep:

------------------------------------------------------------------------
vendor/bin/sail 파일에서 수정
------------------------------------------------------------------------
export APP_SERVICE=${APP_SERVICE:-"laravel.test"}

=>

export APP_SERVICE=${APP_SERVICE:-"I_want_go_home"}
  • Docker 컨테이너 생성하기
sail up # 터미널에 1회성으로 띄우는 용 -> 종료는 ctrl + c
sail up -d # 백그라운드로 돌아감 -> 치면 그걸로 끝. 도커에서 별도로 꺼주거나 명령어 쳐줘야함
  • 접속 확인
  •  

  • localhost:port 로 접속하여 확인하기
2. TestUnit 설정
  • Test FrameWorks 설정

 
 
 
1. Test Runner -> 체크 -> 사진과 같은 경로 입력
2. Docker container -> 폴더 버튼 클릭
 2-1. 그 전에 터미널에서
docker network ls  <---- 입력 후 _sail 로 끝나는 bridge 찾고 이름 복사
 
 
다시 돌아와서 Network mode에 터미널에서 복사한 이름 붙혀넣고 저장
  • Test Unit 테스트하기
3. Sail 명령어
  • DB Migrate
  • Controller, Model, View, Migration, ETC 생성
  • Sail 재빌드
  • Sail 실행
  • Sail 종료
  • Sail 종료 및 Docker 컨테이너 삭제
  • Command 실행 시
  • 간단하게 설명하면