[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 실행 시
- 간단하게 설명하면
'프로그래밍 > PHP' 카테고리의 다른 글
[Laravel] 프로젝트 폴더 초기 구성 (0) | 2023.01.17 |
---|---|
[Laravel] There is no existing directory at "/var/www/html/APP/storage/logs" and it could not be created: Permission denied (0) | 2022.04.14 |