CICD

· 회고
이번에 물류 검수 앱을 개발하면서 전체적인 인프라를 AWS에 구축함에 따라 서비스에 필요한 모든 부분을 구성하게 되었던 경험에 대한 회고를 작성한다. 범위 스택 버전 디펜던시 프론트 Vue 3.1.x Vite 백엔드 SpringBoot 3.0.3 Gradle CICD Github Actions 로그 FastAPI, ELK Pydatic, Alembic 디비 RDS(postgresql) 15 AMQP Kafka Kafka Connector 처음 기획했던 인프라 구조도는 위와 같다. 전체적인 서비스를 기획하면서 개발 플로우를 어떻게 진행할지에 대한 고민이 많았다. 기존에 진행했던 방식은 3가지 브랜치를 운영하는 방식이었다. dev 브랜치: 개발을 진행하는 브랜치로써 머지 리퀘스트를 진행한 후 개발 서버에서 ..
서비스를 배포할 인스턴스를 생성하고 CodeDeploy 동작을 인식하기 위한 태그를 추가합니다. 인스턴스 시작 클릭 Amazon Linux 선택 인스턴스 유형, 키 페어(로그인에 사용될 키, 새로 생성 했으면 꼭!!! 로컬에 따로 저장해야 함), 네트워크 설정 네트워크 설정(나중에 필요에 따라 보안 규칙 수정), 스토리지 30GB로 설정(30GB까지 무료) 인스턴스에서 우클릭 한 후 태그 관리 클릭 행동을 식별할 수 있는 태그 추가(값은 입력하지 않아도 됨). Github Actions 스크립트에서 이 태그를 이용해 Ec2를 식별하고 Runner를 실행시킴. IAM에서 사용자, 역할 추가, 사용자의 키를 Github Actions에 등록 CodeDeploy에 사용될 IAM 작업자를 생성하고 인스턴스에 적..
개요 개발자가 푸시와 같은 정해진 동작(브랜치, 푸시, 풀 리퀘스트 등)을 함 Github에 코드가 올라감 Github Actions에 등록된 *.yml파일이 정해진 동작이 있는 스크립트를 실행시킴 *.yml 스크립트에서 코드를 압축한 .zip 파일을 생성 zip파일을 s3에 업로드 한 후 CodeDeploy에서 소스코드를 ec2로 배포 ec2에서 docker-compose를 이용해 배포 동작 실행 운영 권장되는 깃 브랜치 전략: https://tecoble.techcourse.co.kr/post/2021-07-15-git-branch/ 위 브랜치 전략에 따라 운영 방안 설계 개요 개발자가 푸시와 같은 정해진 동작(브랜치, 푸시, 풀 리퀘스트 등)을 함 Github에 코드가 올라감 Github Actio..
· Devops
출처: https://seosh817.tistory.com/104 매번 개발자가 코드를 수정하고 빌드와 테스트를 하고 배포까지 한다면 상당히 많은 시간이 소요됩니다. 하지만 git에 코드를 올리는 것만으로도 누군가가 빌드와 테스트, 배포까지 해준다면, 쓸데없는 시간을 단축시키고 개발에 더 많은 시간을 투자할 수 있을겁니다. 이번에는 CI, CD의 개념에 대해 정리하겠습니다. CI란? CI는 간단히 요약하자면 빌드/테스트 자동화 과정 과정입니다. CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미합니다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가..
Say simple
'CICD' 태그의 글 목록