Skip to content

[김지선] sprint11#218

Merged
KWANHYEONGLEE merged 14 commits intocodeit-bootcamp-nodejs:김지선from
KimDay366:김지선-sprint11
Feb 18, 2026

Hidden character warning

The head ref may contain hidden characters: "\uae40\uc9c0\uc120-sprint11"
Merged

[김지선] sprint11#218
KWANHYEONGLEE merged 14 commits intocodeit-bootcamp-nodejs:김지선from
KimDay366:김지선-sprint11

Conversation

@KimDay366
Copy link
Collaborator

요구사항

[ 목표 ]

  • Github Actions로 테스트, 배포 자동화
  • Docker 이미지 만들기

[ 작업 내용 ]

1. 기본 요구사항

  1. Github Actions 활용
  • 브랜치에 pull request가 발생하면 테스트를 실행하는 액션을 구현
  • main 브랜치에 push가 발생하면 AWS 배포를 진행하는 액션을 구현 : 현재 개발 환경을 고려하여 main 브랜치 뿐만 아니라 개별 브랜치인 "김지선" 브랜치에도 동일하게 적용
  • 개인 Github 리포지터리에서 Actions 동작을 확인
sprint-mission-11_git-action-history
  1. Docker 이미지 만들기
  • Dockerfile 작성
  • Docker의 Volume을 활용하여 파일 업로드 처리
sprint-mission-11_docker_volume
  • 데이터베이스는 Postgres 이미지를 사용해 연결
sprint-mission-11_docker_terminal
  • 실행된 Express 서버 컨테이너는 호스트 머신에서 3000번 포트로 접근 가능하도록 구현
sprint-mission-11_docker_localhost



멘토에게

  • 미션 8, 9, 10에 대한 멘토님 코멘트를 적용하며, 전체 코드를 다시 확인하여 리팩토링 진행하였습니다 😁
  • 수업을 많이 빠져서 진짜 정신없이 작업 했습니다. 특히, Docker 부분은 정말 개념만 간단히 알고 작업한거라 LMS 강의를 여러번 복습 해야할거 같습니다.

@KimDay366 KimDay366 added the 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. label Feb 13, 2026
@KimDay366
Copy link
Collaborator Author

아니.. 다 됬다고 생각했는데.. Github Action한테 발목 잡혔네요 🤣
설 연휴에 시간내서 추가 작업 해 두겠습니다..ㅎㅎ

@KimDay366
Copy link
Collaborator Author

멘토님, 현재 제 원격 레포에만 "secrets" 키 목록이 저장 되어 있어 여러 에러가 발생 한 것으로 확인 됩니다.

보통의 팀 작업은 공용 레포에 "secrets"를 저장해 사용하기 때문에 제가 초기에 셋팅해 둔 방식으로 한다면 문제가 되지 않지만,
지금처럼 학원 수업용 코드의 경우 각자의 secrets 정보를 저장 해 두지 않기 때문에,
Action 테스트를 할 수 없고, 에러가 나오는 것으로 파악 하였습니다.

하여, 제출했던 코드에서 push / pull_request 진행 범위를 좁히고,
"deploy.yml" 파일의 jobs.deploy 설정에 if(실행 환경 설정)을 추가하여 처리를 진행하였습니다.

제가 이해한 내용이 잘못되었거나, 해결 방식이 잘못 되었다면 조언 부탁드립니다 🙇‍♂️
감사합니다!

Copy link
Collaborator

@KWANHYEONGLEE KWANHYEONGLEE left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이전 미션 피드백 반영 및 CI/CD 파이프라인을 구축하시느라 정말 수고 많으셨습니다 👏
특히 여럿 테스트를 진행해보면서 나온 고민의 흔적이 보여서 좋았습니다.
스프린트 미션 진행하시느라 정말 수고 많으셨고 남은 연휴 잘 보내시길 바라겠습니다. LGTM 🍀

Comment on lines +60 to +61

const likeProductMember = await favoriteRepository.getFavoriteMember(productId);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

불필요한 DB조회 로직을 잘 수정하셨네요! 👍

Comment on lines +23 to +41
env:
# DB 정보
DATABASE_URL: ${{ secrets.DATABASE_URL }}
NODE_ENV: production

# JWT 설정
JWT_ACCESS_TOKEN_SECRET: ${{ secrets.JWT_ACCESS_TOKEN_SECRET }}
JWT_REFRESH_TOKEN_SECRET: ${{ secrets.JWT_REFRESH_TOKEN_SECRET }}

# AWS 설정
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_BUCKET_NAME: ${{ secrets.AWS_BUCKET_NAME }}

# EC2 설정
EC2_HOST: ${{ secrets.EC2_HOST }}
EC2_USER: ${{ secrets.EC2_USER }}
EC2_PRIVATE_KEY: ${{ secrets.EC2_PRIVATE_KEY }}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

secrets 값을 직접 주입하지않고 env섹션에서 한 번 정의해서 사용하셨네요!
저는 직접 주입을 하고있어 수정해야하는 부분이 있으면 하나하나 다 찾아야했었는데 이렇게 사용하면 유지보수 측면에서 좋겠네요 🤩 지선님 덕분에 배웠습니다. 감사합니다!


deploy:
# run 환경
if: github.repository == 'KimDay366/6-sprint-mission' # 현재 개인 레포지토리에만 secret 설정이 되어있어 해당 조건을 추가하였습니다
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

우선 오류 원인을 파악하시고 if를 사용하여 대응하신게 너무 좋네요!
말씀해주신것처럼 코드잇 레포지토리의 특성상 secrets값이 팀원별로 다르기때문에 secrets값을 주입하기가 어렵긴하겠네요 🤔 이번엔 CI/CD를 해보는 경험이 목표이기 때문에 지금도 충분히 좋습니다.
현업에서는 환경별로 다른 값을 넣어주어야한다면 다음 방법을 사용하곤합니다!

secrets 이름으로 분기

각 환경에 맞는 식별자를 붙인 secrets값을 등록합니다.
(ex. KIM_SSH_HOST, KWAN_SSH_HOST)

GitHub Environments

Github 레포지토리 설정에서 Environment를 생성하고 환경별로 sercret 값을 설정하는 방법입니다.

Image

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오호!!! 해당 방법도 같이 공부 해 보겠습니다~ 감사합니다 😁

Comment on lines +11 to +15
pull_request : # 브랜치에 코드가 머지될 때
branches :
- 김지선-sprint11 # action test용
- 김지선
- main
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

위처럼 작성하면 PR이 생성될때 실행이 되는걸로 알고있었는데 아니였나보군요? 😀

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저도 PR로 생각 했는데, PR을 확인 한 뒤 기존 브랜치에 머지 할 때 실행되는 거라고 하네요~ 😉

@KWANHYEONGLEE KWANHYEONGLEE merged commit 6e207fb into codeit-bootcamp-nodejs:김지선 Feb 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants