Skip to content

Conversation

@bianbbc87
Copy link
Collaborator

@bianbbc87 bianbbc87 commented Feb 10, 2025

이슈번호

요약(개요)

ECR EC2 배포용 git actions

도메인 : https://api.asyncgate.site/

작업 내용

  • ECR 배포 actions 작성
  • EC2 배포 actions 작성
  • 서버별 dockerfile 작성
  • 로컬 테스트용 docker-compose.yml 작성
  • rds 배포
  • guild 서버 database url rds로 변경

단계 설명

  1. main 브랜치와 비교하여, 각 서버별 변경사항 확인
  2. 변경사항이 있는 경우에만 actions 실팽

actions -

  1. dockerfile 빌드
  2. ecr 업로드
  3. ec2 내부에서 ecr을 받아와서 docker compose로 재구성
  4. 기존에 존재하던 docker compose 제거 후 다시 up
  • stop으로 중지하지 않는 경우 재실행 추가 (unless-stopped)

집중해서 리뷰해야 하는 부분

기타 전달 사항 및 참고 자료(선택)

  • main 브랜치로 PR 할 때 사용되며, 변경사항이 있는 경우에만 각 서버별로 dockerfile이 새롭게 올라갑니다.
  • actions 실행 시 config 및 기타 서버 bootstarp.yml을 secret으로 변경합니다.
  • 현재 config 기준 브랜치는 be/setting/24-test로, 이 브랜치에 배포 환경 기준 eureka default zone을 세팅하였습니다.
  • chat server는 현재 kotlin lint 때문에 실패하는거라 문제 없습니다.
  • lb를 discovery와 바로 연결하는 경우 apigateway와의 통신이 안 되어서 lb - apigateway로 바로 연결하였습니다.
  • 현재 docker compose는 스프링부트 랜덤 포트 반영을 위해 host의 network를 사용하고 있으며, 때문에 동일 ec2에 2개의 container가 서로 통신해야 하는 경우 "host: host.docker.internal" 를 지정해주셔야 합니다.

스쿼시 머지 진행 예정

Copy link
Collaborator

@toychip toychip left a comment

Choose a reason for hiding this comment

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

고생하셨습니다.

@bianbbc87 bianbbc87 merged commit fb25732 into main Feb 12, 2025
10 of 11 checks passed
@toychip toychip changed the title Be/setting/24 ecr ec2 git actions 설정 [BE] setting: ecr ec2 git actions 설정 Feb 12, 2025
@bianbbc87 bianbbc87 deleted the be/setting/24-ecr branch February 17, 2025 10:04
onegood07 pushed a commit that referenced this pull request Feb 28, 2025
* [BE] setting: 변경사항 감지용 main.yml workflow 세팅 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] setting: ecr build push용 action.yml 설정, action.yml 파일 하나로 통합 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] setting: local용 dockerfile, docker-compose 파일 설정 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] setting: 테스트용 default-label 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: docker compose용 env 추가 (임시) (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: test용 workflow trigger push로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: 대상 branch 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] feat: 서버별 dockerfile 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: 첫 액션인 경우 코드 반영 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] fix: if문 문법 오류 해결 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: test용 빌드 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: test용 빌드 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: test용 빌드 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] fix: composite에서는 secret key 사용 불가 이슈 해결 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] fix: gradlew not found 이슈 해결 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] fix: not found action.yml 이슈 해결 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: dockerfile 변경사항 반영 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: 임시로 kotlin lint 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: test용 push (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: msa, service, chat key 분리 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: ec2 배포 명령어 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: actions secret 오타 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: tab 오타 수정 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: aws iam 인증 수정 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: ssh actions port 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: test용 출력 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: test용 출력 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: container port 문자열 출력 에러 해결 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: container port secret -> inputs로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: run 문법 픽스 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: shell 속성 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: container port 매핑 조건 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: apigateway ecr uri 오타 수정 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: 서버별별 bootstrap, config application.yml 주입 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: script 내부 주석 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: 들여쓰기 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: 들여쓰기 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: EOF 제외 들여쓰기 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: EOF 들여쓰기 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: EOF 들여쓰기 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: yaml 문법 오류 fix (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: EOF -> echo로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: 특정 container만 제거로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: 트리거 main pr로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: config jvm 메모리 제한 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: dockerfile -> docker-compose로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: dockerfile -> docker-compose로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: actions 오타 수정 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: ecr push를 compose에서 dockerfile로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: docker compose generate echo로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: docker context -> image로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: 기준 브랜치 main으로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: kotlin lint 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: docker compose container name 지정 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: config ram limit 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: user server compose에 redis 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: service ec2 network host 를 docker host로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: user server prefer ip 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: docker compose volume 제거 코드 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: hostname 변경 내용 추가 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: hostname 변경 내용 제거, config로 이관 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: ip 고정으로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: port 지정 잠시 해제 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: user server 재부팅 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: user server 재부팅 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: expose -> ports로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: user default zone 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: 변경사항 roll back (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: redis 연결 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: redis 연결 구성 host 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: api gateway 설정 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: test용 api gateway 설정 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: apigateway application.yml 주입 부분 제거 (#24)

Signed-off-by: EunJiJung <[email protected]>

* [BE] refactor: main 브랜치 기준으로 변경 (#24)

Signed-off-by: EunJiJung <[email protected]>

---------

Signed-off-by: EunJiJung <[email protected]>
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.

[BE] Issue - ECR git actions 구축

3 participants