본문 바로가기

전체 글134

Devops Day 38 (4.27) Project 2 “AWS 배포 자동화”_Day1 Achievement Goals 섹션 2 파트에 학습 했던 내용을 완전히 이해하고 실습합니다. - 네트워크 - Yaml - Docker - AWS - 지속적 통합 - 배포 자동화 AWS 리소스에 대한 이해를 통해 실제 AWS에 서비스를 배포합니다. 목표달성을 위한 실습내용 WAS를 Docker image로 빌드하여 컨테이너화 (Docker, Yaml,AWS, 지속적통합) - 실습과제 1에서 실습한 내용을 토대로 was를 도커 이미지로 빌드하여 컨테이너 화 합니다. - 빌드한 이미지를 레지스트리로 푸시 합니다. - 깃헙 액션을 통해서 레지스트리 푸시를 자동화 합니다. 컨테이너화 한 이미지를 AWS에 배포(Docker, AWS) - aws ECR 서비스를 이용하는 방법을 배웁니다. - was 및 mongoD.. 2023. 4. 28.
DevOps Day 36 (4.25) 배포 자동화_배포 전략 블루 / 그린 배포 Blue-Green 배포는 애플리케이션 또는 마이크로서비스의 이전 버전에 있던 사용자 트래픽을 이전 버전과 거의 동일한 새 버전으로 점진적으로 이전하는 애플리케이션 릴리스 모델입니다. 블루 / 그린 배포가 필요한 이유? 배포를 자동화할 때 겪는 어려움 중 하나는 소프트웨어를 최종 테스트 단계에서 실제 프로덕션 단계로 전환하는 컷오버 자체입니다. 일반적으로 다운 타임을 최소화하려면 이 작업을 신속하게 수행해야 합니다. 두 가지 프로덕션 환경 : 컷오버(cutover) : 기존에 운영되던 환경을 중단시키고, 새로 구축된 환경으로 오픈하는 것 다운타임(Downtime) : 시스템을 이용할 수 없는 시간 blue를 실제 운영 중인 환경으로 가정하겠습니다. - 새로운 버전을 릴리스 하고 싶은 .. 2023. 4. 26.
DevOps Day 35 (4.24) 배포 자동화_Sprint 서버 배포 파이프라인 앞선 실습을 통해 클라이언트 배포 자동화 파이프라인을 구축했습니다. 이번 실습에서는 서버 배포 자동화 파이프라인을 구축하는 실습을 진행하겠습니다. Bare Minimum - AWS 개발자 도구 서비스를 이용해서 배포 자동화 파이프라인을 구축해야 합니다. - CodePipeline을 이용해서 각 단계를 연결하는 파이프라인을 구축합니다. - Source 단계에서 소스 코드가 저장된 GitHub 리포지토리를 연결합니다. - Deploy 단계에서 CodeDeploy 서비스를 이용하여 EC2 인스턴스에 변경 사항을 실시간으로 반영합니다. - 나중에 변경 사항을 GitHub 리포지토리에 반영했을 경우, 배포 과정이 자동으로 진행되어야 합니다. - 배포 과정에서 오류가 생길 경우, log 파일을 참조하여 문제점을 확.. 2023. 4. 25.
DevOps Day 35 (4.24) 배포 자동화_Sprint 클라이언트 배포 파이프라인 Bare Minimum : - AWS 개발자 도구 서비스를 이용해서 배포 자동화 파이프라인을 구축해야 합니다. - CodePipeline을 이용해서 각 단계를 연결하는 파이프라인을 구축합니다. - Source 단계에서 소스 코드가 저장된 GitHub 리포지토리를 연결합니다. - Build 단계에서 CodeBuild 서비스를 이용하여 수동으로 진행했던 build 과정을 자동으로 진행합니다. - Deploy 단계에서 결과물을 S3 버킷에 자동으로 전달합니다. - 나중에 변경 사항을 GitHub 리포지토리에 반영했을 경우, 배포 과정이 자동으로 진행되어야 합니다. - 배포 과정에서 오류가 생길 경우, log 파일을 참조하여 문제점을 확인할 수 있어야 합니다. 1. Repository Fork + Git clo.. 2023. 4. 25.
DevOps Day 35 (4.24) 배포 자동화 배포 자동화 배포 자동화란 한 번의 클릭 혹은 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것을 뜻합니다. 배포 자동화가 필요한 이유? - 먼저 수동적이고 반복적인 배포 과정을 자동화함으로써 시간이 절약됩니다. - 휴먼 에러(Human Error)를 방지할 수 있습니다. 여기서 휴먼 에러란 사람이 수동적으로 배포 과정을 진행하는 중에 생기는 실수를 뜻합니다. 그전에 했던 배포 과정과 비교하여 특정 과정을 생략하거나 다르게 진행하여 오류가 발생하는 것이 휴먼 에러의 예로 볼 수 있습니다. 배포 자동화 파이프라인 배포에서 파이프라인(Pipeline)이란 용어는 소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조를 뜻합니다. 1. Source 단계: Source 단계에서는 원격 저장소에.. 2023. 4. 25.
DevOps Day 34 (4.21) 코드로부터 환경 변수 분리 Sprint 가장 긴 단어가 2개 이상이면 첫번째로 등장하는 단어GitHub Action을 이용하여 CI 상에서 Mini node server를 Docker 이미지로 만든 후, 여러분의 Docker Hub에 push하세요 1. CI 상에서 주어진 Dockerfile을 이용해 Docker 이미지를 빌드할 수 있도록, workflow를 새로 만드세요. - 다음 레퍼런스를 참고해서 Docker 빌드용 GitHub Action workflow를 만드세요. - workflow를 추가한다고 해서 GitHub Action이 즉시 작동하지는 않을 것입니다. - repository에서 오른쪽 사이드바를 살펴보면, Release -> Create a new release 링크가 존재합니다. - 이 링크를 누르고 새로운 릴리스를 발행합.. 2023. 4. 21.