-
Notifications
You must be signed in to change notification settings - Fork 2
M4 환경 구성을 위한 Docker 설정 및 Makefile 추가 #266 #267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces Docker configuration improvements for both the backend and frontend environments and adds a Makefile to automate the frontend build process.
- Updated Docker Compose files for backend services to include additional healthchecks and dependency conditions.
- Added new Dockerfile and docker-compose.yml files for the frontend application.
- Integrated a Makefile for automating the frontend container management.
Reviewed Changes
Copilot reviewed 9 out of 20 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
src/frontend/docker-compose.yml | Added configuration for the frontend container with necessary environment variables and volume mounts. |
src/backend/user-server/docker-compose.yml | Added a dependency on Redis with a healthcheck condition. |
src/backend/redis/docker-compose.yml | Introduced healthcheck configuration for the Redis container. |
src/backend/main-server/main/docker-compose.yml | Extended dependency conditions to include MySQL and Redis. |
src/backend/kafka/docker-compose.yml | Added healthcheck configurations for both Zookeeper and Kafka, with Kafka now depending on Zookeeper's health. |
src/backend/elk/docker-compose-kibana.yml | Updated Kibana healthcheck parameters and test command. |
src/backend/elk/docker-compose-es.yml | Modified the Elasticsearch healthcheck and added a platform specification for ARM64 issues. |
src/backend/chat-server/docker-compose.yml | Updated dependencies to ensure Kafka is healthy before starting chat service containers. |
src/backend/auth-server/docker-compose.yml | Added a dependency on Redis with a healthcheck condition. |
Files not reviewed (11)
- src/backend/chat-server/Dockerfile: Language not supported
- src/backend/chat-server/src/main/resources/logback.xml: Language not supported
- src/backend/file-server/Dockerfile: Language not supported
- src/backend/history-server/Dockerfile: Language not supported
- src/backend/main-server/main/Dockerfile: Language not supported
- src/backend/main-server/main/src/main/resources/logback.xml: Language not supported
- src/backend/signaling-server/Dockerfile: Language not supported
- src/backend/state-server/Dockerfile: Language not supported
- src/frontend/Dockerfile: Language not supported
- src/frontend/package.json: Language not supported
- src/makefile: Language not supported
test: | ||
[ | ||
"CMD-SHELL", | ||
'curl -s http://localhost:9200/_cluster/health | grep -vq ''"status":"red"''', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The quoting in the Elasticsearch healthcheck command may not work as intended, which could fail to detect a 'red' status correctly. Consider revising the test command to use clearer quote escaping (e.g., 'grep -vq ""status":"red""') to ensure proper healthcheck evaluation.
'curl -s http://localhost:9200/_cluster/health | grep -vq ''"status":"red"''', | |
"curl -s http://localhost:9200/_cluster/health | grep -vq '\"status\":\"red\"'", |
Copilot uses AI. Check for mistakes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
제안 전 코드로 healthcheck 되는 것을 확인했기 때문에 변경하지 않습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
꼼꼼하게 docker 의존성 달아주시고~ healthy check에 프론트 dockerfile 까지!!! 수고하셨고 감사합니다 🙇
@@ -1,5 +1,5 @@ | |||
# 1️⃣ 베이스 이미지로 OpenJDK 17 사용 | |||
FROM openjdk:17-jdk-slim AS build | |||
FROM amazoncorretto:17-alpine AS build | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 버전이 M4에 맞는 버전이군요! 바꿔주셔서 감사합니다~ 😄
<!-- 개발 환경(dev, docker)에서는 콘솔 로깅만 사용 --> | ||
<springProfile name="dev,docker,default"> | ||
<root level="INFO"> | ||
<appender-ref ref="console_log"/> | ||
</root> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
prod 환경이랑 개발 환경이랑 나누는 방법 좋은데요!?! 이렇게 바꾸면 매번 파일 들어가서 수정할 일이 없을 것 같네요! 감사합니다 :)
[ | ||
"CMD-SHELL", | ||
"curl -s -I http://localhost:5601/app/home | grep -q '200 OK'", | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
grep -q '200 OK'
제가 놓친 부분이었네요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
M4에서 잘 동작합니다!
감사합니다!! 😊
해당 사항 (중복 선택)
설명
🔗 관련 이슈
해결한 이슈: closed #266
📝 작업 내용
Backend Docker 환경 개선
Frontend Docker 환경 구성
빌드 자동화
🔍 상세 변경 내용
Backend
Frontend
src/frontend/Dockerfile
신규 작성src/frontend/docker-compose.yml
신규 작성src/frontend/package.json
Docker 환경 설정 반영src/makefile
Frontend 빌드 자동화 스크립트 추가🧪 테스트 방법
cd src/frontend docker compose up --build
또는 Makefile 사용해서 Frontend 실행/중지