inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 CI/CD 입문·실전

방법 5 - 컨테이너 기반 + 확장성을 고려한 프로젝트에서 많이 쓰는 CI/CD 구축 방법 (Docker, CodeDeploy)

s3와 ecr에 쌓이는 데이터에 대해서

133

Lee Young Jun

작성한 질문수 1

0

빌드할때마다 이 두과정을 거쳐서 각각 S3와 ECR에 파일과 이미지가 쌓여서, 만약 배포를 10번 하면 10개의 실행파일과 이미지가 불필요하게 저장됩니다.
혹시 $GITHUB_SHA 같은 생성되는 변수를 사용하지 않고
고정된 이름을 사용해서 덮어 씌워서 사용해도 문제는 없나요?

aws docker ci/cd github-actions aws-code-deploy infrastructure aws-ec2

답변 2

0

JSCODE 박재성

안녕하세요 Lee Young Jun님!

말씀해주신 대로 고정된 이름을 사용해서 덮어 씌워서 사용해도 문제는 없습니다:)

다만, 이전 버전의 배포 파일이 남아있지 않게 되기 때문에

롤백을 해야 하는 상황에서 불편하실 수도 있습니다~!!

이 점만 참고하셔서 판단하시면 좋을 것 같습니다!

이 외로 궁금하신 점 있으시면 또 질문 남겨주세요~~

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Lee Young Jun님. 질문 주셔서 감사합니다.

데이터 관리를 위해 여러 번의 배포 후에도 불필요한 파일 또는 이미지를 최소화하고 싶다면, 고정된 이름을 사용하는 방식으로 기존 파일을 덮어씌우는 방법을 고려할 수 있습니다. 이 방법을 선택하면 다음과 같은 장점과 단점이 있습니다.

장점

  1. 저장 공간 절약: 불필요한 데이터 중복 저장을 막아 저장 공간을 절약할 수 있습니다.
  2. 단순화된 데이터 관리: 항상 같은 이름의 파일을 관리하기 때문에 파일 관리가 용이합니다.

단점

  1. 버전 관리 어려움: 특정 배포 버전을 빠르게 복구해야 할 경우 기존 데이터를 모두 덮어씌웠기 때문에 어려움이 있을 수 있습니다.
  2. 데이터 손실 위험: 새로운 빌드가 문제를 일으킬 경우 이전 버전으로 쉽게 되돌리기 어렵습니다.

해결 방법

이를 보완하기 위해 S3의 경우 버전 관리 기능(versioning)을 활성화해볼 수 있습니다. 이렇게 하면 파일이 덮어씌워져도 이전 버전이 자동으로 저장되어 이전 버전으로 복구할 수 있습니다. ECR에서는 불필요한 태그된 이미지들을 주기적으로 삭제하는 방법으로 관리할 수 있습니다.

관련 질문과 유사한 내용을 다루고 있는 포럼 링크를 다음에서 확인해 보세요:
- ECR + CodeDeploy를 활용한 CI/CD에서 쉘 스크립트 질문
- codedeploy 배포 관련 질문

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

무중단 배포

0

57

2

workflows/deploy.yml 궁금증

0

52

2

.git-credentials 파일이 없이 배포가 성공한 이유가 궁금

0

57

1

(해결 - 정보공유) /home/runner/work/_temp/6be6e~0.sh: line 1: ./gradlew: Permission denied 오류

1

63

2

(확인 완료) git config --global creadential.helper store 후에도 비밀번호 물어보는 현상

1

71

2

질문_ 강의 순서 및 그외

0

70

2

섹션 4 - Docker + 백엔드(Spring Boot)

0

63

2

deploy.yml작성후 원격에 push불가

0

63

2

CodeDeploy 사용시 registration 요구

0

106

3

스프링 종료 명령어

0

68

2

RAM & 스왑메모리 폭증하는 문제

0

102

2

섹션 4, 5와 6, 7은 유사한가요?

0

66

1

code deploy 배포입니다.

0

98

3

사용자 삭제가 안되는 이유

0

88

2

이미지 pull중 no basic auth credentials 문제입니다.

0

113

2

Docker Compose파일을 작성했을때 CI CD와의 연동

0

96

2

보안그룹 생성 오류

0

84

3

AWS 5월에 탈퇴해서 그러는데....

0

81

1

배포 오류

0

80

2

node.js 설치시 에러

0

149

2

appspec.yml, 스크립트 파일 수정요청

0

82

2

appleboy/ssh-action stop_script 대체

1

181

2

Vue.js 파일 배포

0

61

2

aws를완강하고 ci/cd로 넘어왔습니다.

0

85

1