CICD
-
[CI/CD] 컨테이너 환경에서 CI/CD 구축하기(+code deploy 적용)CICD 2024. 12. 14. 17:35
컨테이너 환경에서 CI/CD 구축하기(+code deploy 적용) code deploy 적용 시 장점 / 단점 / 언제 적용하면 좋은지?https://ki-ju.tistory.com/199 [CI/CD] github-actions를 이용한 CI/CD구축-3 (+AWS code deploy)github-actions를 이용한 CI/CD구축-3 (+AWS code deploy) code deploy를 사용하는이유 (장점)code deploy는 여러대의 ec2 서버에 자동 배포를 쉽게 구축할 수 있다쉽게 무중단 배포를 적용할 수 있다.그외 장점(둘kiju.pro 적용 1. Github Actions 코드 수정codedeploy를 적용함으로써 기존 SSH로 EC2에 직접 접속하는 로직이 사라지고,..
-
[CI/CD] 컨테이너 환경에서 CI/CD 구축하기CICD 2024. 12. 13. 17:31
컨테이너 환경에서 CI/CD 구축하기 CI/CD 흐름1. 깃허브푸시2. 깃허브액션에서 도커이미지 생성3. 도커 이미지를 ECR로 전달4.(깃허브액션이 EC2에게) ECR로부터 도커 이미지를 다운받아 배포진행하도록 명령5.(EC2가) 도커이미지 다운후 배포진행장점도커 컨테이너 기반의 서비스일때 가장 간단하게 구성할 수 있는 인프라 구조 단점무중단배포를 구현하거나 여러 EC2 인스턴승 배포해야하는 상황이라면 직접 깃허브액션 스크립트에 작성해서 구현해야한다. 꽤 복잡해진다. 언제쓰는방식인가?컨테이너 기반으로 인프라를 구성했을때 이방법을 많이 활용한다.서버 여러대 운영하지않을 정도의 소규모 프로젝트일때 주로 활용 준비사항 0. AWS CLI설치로컬, ec2모두에 설치 설치방법:https://ki-ju.tist..
-
[CI/CD] github-actions를 이용한 CI/CD구축-3 (+AWS code deploy)CICD 2024. 12. 4. 20:13
github-actions를 이용한 CI/CD구축-3 (+AWS code deploy) code deploy를 사용하는이유 (장점)code deploy는 여러대의 ec2 서버에 자동 배포를 쉽게 구축할 수 있다쉽게 무중단 배포를 적용할 수 있다.그외 장점(둘다 github-actions의 단점을 커버하는 것) code deploy 단점code deploy를 이용함으로써 인프라 구조가 복잡해진다. 복잡해질수록 관리비용, 유지보수 비용, 난이도, 트러블슈팅, 복잡도가 증가한다 code deploy 는 언제써야 좋을까?서버가 여러대이거나무중단 배포가 중요한 서비스일때이용한다. 소규모 프로젝트일때는 오버엔지니어링이 될 수 있기때문에 사용을 지양한다. github-actions를 이용한 CI/CD..
-
[CI/CD] Github-Actions로 CI/CD 구축하기-2 개선CICD 2024. 12. 4. 20:02
Github-Actions로 CI/CD 구축하기-2Github-Actions CI/CD 흐름 개선하기 기존 Github-Actions의 방식 기존 방식의 문제점인스턴스에서 git pull을 통해 코드를 다운받고 직접 빌드를 했다. 하지만 빌드를 하는 작업은 무겁기때문에 이는 서버의 성능에 영향을 미친다. 새로 개선된 방식 Github-Actions는 컴퓨터이기 때문에 빌드와 테스트를 여기서 해주고 빌드된 파일을 인스턴스로 전달할 수 있다.빌드된 파일을 전달할때 압축을 해놓기 때문에 인스턴스에서 압축을 풀고 이를 갖고 서버 재실행. 개선한 방식의 장점빌드를 인스턴스가 아닌 github-actions에서 하기때문에 배포서버의 성능에 영향을 미치지 않는다. 개선한 방식의 단점무중단 배포를 구현하거나..
-
[CI/CD] Github-Actions로 CI/CD 구축하기-1CICD 2024. 12. 4. 17:05
Github-Actions로 CI/CD 구축하기-1프로젝트 적용해보기 1. Nest JS 프로젝스 세팅nest new [프로젝트명]nest new github-practice-server 2. Github에 프로젝트 올리기 2-1) 깃허브 프라이빗 레포지토리 생성 2-2) 레포지토리에 프로젝트 올리기cd github-action-practicegit initgit add .git commit -m "first commit"git branch -M maingit remote add origin [레포지토리 URI]git push -u origin main 3. EC2 세팅 3-1) EC2 보안그룹 3000포트열기 NestJS는 기본적으로 3000포트에서 실행된다. 3-2) node 설치sudo apt..
-
[Github-Actions] Github-Actions와 CI/CD 알아보기CICD 2024. 12. 4. 12:28
Github-Actions와 CI/CD 알아보기 CI/CD (Continuous Integration Continuous Deployment)테스트->통합->배포의 과정을 자동화하는것 왜 CI/CD를 써야할까서비스 운영시에 코드를 수정해야할일이 굉장히 많이 일어난다.(디버깅, 새로운 기능추가)그럴때마다 새로운 코드 배포시에 ec2에 접속해서 새로운 코드를 다운받고 재실행해야한다.이러한 과정은 매우 반복적이고 번거로운일이기 때문에 자동화하고자하는 목적.CI/CD의 과정개발-커밋-빌드-테스트-배포(테스트 성공시) CI/CD를 구축시 사용되는 툴Github ActionsJenkinsCircle CITravis CI 현업에서는 Jenkins를 활용하는가?현업에서는 Github Actions 뿐만아니라 Je..