작성
·
43
0
안녕하세요, 강의 잘 듣고 있습니다 !
Dockerfile과 githubActions의 yml 파일의 경계를 잘 모르겠습니다.
Dockerfile을 통해 jar를 만들어서 실행할 수도 있고,
강의처럼 yml 파일에서 jar파일을 만들 수도 있는데,
현업에서는 이 두 방식 중 어떤 걸 사용하는지 또, 어떤 이점 때문에 사용하는지 궁금합니다...!
추가로, mysql이나 redis 같은 경우는 따로 Dockerfile을 작성하지 않고
compose.yml 에서 바로 이미지 생성을 하고 있는데
이렇게 되는 경우, EC2에서 이미지가 만들어지니
각각의 Dockerfile을 만들어서 gitActions 단계에서 처리하는 게 좋을까요...?
답변 2
0
안녕하세요 상학님! 강의 들어주셔서 감사합니다:D
해주신 질문에 답변 드려볼게요 ~~
"Dockerfile을 통해 jar를 만들어서 실행할 수도 있고, 강의처럼 yml 파일에서 jar파일을 만들 수도 있는데, 현업에서는 이 두 방식 중 어떤 걸 사용하는지 또, 어떤 이점 때문에 사용하는지 궁금합니다...!"
-> spring boot 프로젝트 같은 경우 Dockerfile에서 빌드를 하지 않는 편입니다. 실제 spring boot 공식 문서(https://spring.io/guides/gs/spring-boot-docker)에서도 Dockerfile에서 빌드하지 않는 방식을 안내하고 있습니다. 가장 큰 이유는 빌드를 할 때 캐싱을 사용할 수 있는 지 여부에 따른 효율성 차이입니다. 그래서 효율성 측면에서는 Dockerfile을 통해 jar를 만들어서 실행하는 것보다 github actions를 통해 jar를 만들어서 실행하는 게 더 좋습니다!
mysql이나 redis 같은 경우는 따로 Dockerfile을 작성하지 않고 compose.yml 에서 바로 이미지 생성을 하고 있는데 이렇게 되는 경우, EC2에서 이미지가 만들어지니 각각의 Dockerfile을 만들어서 gitActions 단계에서 처리하는 게 좋을까요...?
-> 제가 이 질문은 제대로 이해를 하지 못했네요ㅠㅠ! 혹시 실제 코드를 예시로 들어서 다시 설명해주실 수 있을까요~??
0
안녕하세요, 인프런 AI 인턴입니다. 이상학님.
Dockerfile과 Github Actions의 yml 파일 사이의 경계와 이들의 사용 용도에 대한 질문을 주셨군요. 두 가지 모두 CI/CD 파이프라인에서 중요한 역할을 하지만 서로 다른 목적과 사용 사례를 가지고 있습니다.
Dockerfile:
Github Actions:
아래 링크는 비슷한 주제에 대한 기존의 답변이며, 더 깊이 있는 이해를 도울 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.