Code States 136

[0427] Section 2. 프로젝트 - AWS 배포 Day 1 - 마일스톤 2(docker-compose 작성)

연습과제: mongoDB 도커로 실행하기 Goal Docker Hub에 이미 배포되어 있는 mongodb 이미지를 활용해, 로컬에서 mongodb를 컨테이너로 실행하고, 데이터베이스를 활용해 봅니다. 복잡한 실행 옵션 대신, docker compose 파일을 작성해 컨테이너를 실행해 봅니다. mongo 이미지를 이용하여 도커로 컨테이너 구동 -p 이용하여 포트 설정 --env 이용하여 아이디 비밀번호 설정 작동 확인 MongoDB Compass 이용하여 접속 접속 확인 docker-compose.yml 파일을 이용하여 MongoDB 구동 docker compose up 이용하여 실행 작동 확인 마일스톤 1에서 작성한 웹서버와 MongoDB를 함께 실행하기 위한 야멜파일 작성 작동확인 MongoDB와 fa..

Code States/TIL 2023.04.27

[0427] Section 2. 프로젝트 - AWS 배포 Day 1 - 마일스톤 1(Hello World 서버 컨테이너화)

Achievement Goals Day 1 WAS를 Docker Image로 빌드하여 컨테이너화 해야 합니다. 컨테이너화한 WAS를 Registry에 Push해야 합니다. 기존에 배포된 Docker Image를 활용/실행해야 합니다. mongoDB 기준 Docker Compose를 이용해, WAS와 DB를 한 번에 실행해야 합니다. WAS 이미지 빌드 및 push 자동화를 구현해야 합니다. ECR 서비스를 이용하는 방법을 배웁니다 연습과제: Hello World 서버 작성 Goal Fastify를 이용하여, 간단한 웹 서버를 만들고, HTTP 요청에 따른 응답을 확인합니다. Fastify cli 설치 Fastify 프로젝트 생성 실행 확인 정상 작동 확인 배포시 로컬호스트는 노출되지 않으므로 Fastif..

Code States/TIL 2023.04.27

[0426] 중간평가 오답노트

총평 그래도 공부 열심히 했구나..! 마냥 날먹하지는 않았구나! 문제 보면 대~충은 기억이 다 났다 확실하게 하려고 정리해둔 TIL 한번씩 확인한 정도..? 틀린 문제들 중 절반은 문제 대충 읽거나 체크 제대로 확인 안해서 틀렸고.. NACL은 공부를 좀 더 해봐야겠다 코플릿 딱히 어려운 문제는 없었고, 30분만에 제출했다 파트 1 5. 다음 중 jobs 명령을 통해 확인한 프로세스 상태에 대한 설명으로 틀린 것은? Running: 실행중 Stopped: 일시중단 Terminated: 강제종료(kill 명령 종료) Done: 정상 작동 중 답: 4 오답: 3 3번 보고 Terminated는 강제종료 보다는 정상 종료가 맞지 않나..? 라는 생각에 4번 읽지도 않고 선택함 6. kill 명령을 사용하기 위..

Code States/TIL 2023.04.26

[0425] 배포 자동화 - 배포 전략

학습 목표 배포 자동화의 정의와 이점에 대해 설명할 수 있다. 배포 파이프라인이 무엇인지 정의할 수 있다. 파이프라인을 구성하는 단계(Stages)와 작업(Actions)에 대해 설명할 수 있다. AWS 개발자 도구를 활용하여 파이프라인을 구축할 수 있다. 배포 자동화 파이프라인 구축 과정에서 문제가 발생할 경우, log 파일과 공식 문서를 통해 해결할 수 있다. 다양한 배포 전략 (롤링, 블루/그린, 카나리)을 이해할 수 있다. 블루/그린 배포 애플리케이션 또는 마이크로서비스의 이전 버전에 있던 사용자 트래픽을 이전 버전과 거의 동일한 새 버전으로 점진적으로 이전하는 애플리케이션 릴리스 모델 필요한 이유 배포를 자동화할 때 겪는 어려움 중 하나는 소프트웨어를 최종 테스트 단계에서 실제 프로덕션 단계로 ..

Code States/TIL 2023.04.25

[0425] (페어) 배포 자동화 - 환경 변수 설정

Bare Minimum Requirement AWS CodeBuild 서비스를 통해 환경 변수를 전달할 수 있어야 합니다. AWS Parameter Store 서비스와 AWS CLI를 통해 환경 변수를 전달할 수 있어야 합니다. Getting Started RDS 인스턴스가 생성되어 있어야 합니다. 서버 환경 변수 설정 실습이 성공적으로 마무리되기 위해서는 EC2 인스턴스 안에 AWS CLI가 설치되어 있어야 합니다. 실습 과정 완료 후 테스트 진행 시 보이는 화면 테스트는 S3 버킷의 엔드포인트 주소에 접속해서 진행합니다. 1. 클라이언트 환경 변수 설정 Hands-on 실습 완료 시 결과 화면 클라이언트 환경 변수 설정 관련 실습이 모두 마무리되어, S3 버킷의 엔드포인트 주소에 접속하고 로그인 테스..

Code States/TIL 2023.04.25

[0424] (페어) 배포 자동화 - 서버 배포 파이프라인

Bare Minimum Requirement AWS 개발자 도구 서비스를 이용해서 배포 자동화 파이프라인을 구축해야 합니다. CodePipeline을 이용해서 각 단계를 연결하는 파이프라인을 구축합니다. Source 단계에서 소스 코드가 저장된 GitHub 리포지토리를 연결합니다. Deploy 단계에서 CodeDeploy 서비스를 이용하여 EC2 인스턴스에 변경 사항을 실시간으로 반영합니다. 나중에 변경 사항을 GitHub 리포지토리에 반영했을 경우, 배포 과정이 자동으로 진행되어야 합니다. 배포 과정에서 오류가 생길 경우, log 파일을 참조하여 문제점을 확인할 수 있어야 합니다. EC2 태그 및 IAM 역할 부여 생성한 EC2 인스턴스 설정에 들어가 태그를 설정한다 보안 탭에서 IAM 역할을 설정한다..

Code States/TIL 2023.04.24

[0424] (페어) 배포 자동화 - 클라이언트 배포 파이프라인

Bare Minimum Requirement AWS 개발자 도구 서비스를 이용해서 배포 자동화 파이프라인을 구축해야 합니다. CodePipeline을 이용해서 각 단계를 연결하는 파이프라인을 구축합니다. Source 단계에서 소스 코드가 저장된 GitHub 리포지토리를 연결합니다. Build 단계에서 CodeBuild 서비스를 이용하여 수동으로 진행했던 build 과정을 자동으로 진행합니다. Deploy 단계에서 결과물을 S3 버킷에 자동으로 전달합니다. 나중에 변경 사항을 GitHub 리포지토리에 반영했을 경우, 배포 과정이 자동으로 진행되어야 합니다. 배포 과정에서 오류가 생길 경우, log 파일을 참조하여 문제점을 확인할 수 있어야 합니다. Getting Started repository 주소의 m..

Code States/TIL 2023.04.24

[0424] 배포 자동화 - 배포 자동화

학습 목표 배포 자동화의 정의와 이점에 대해 설명할 수 있다. 배포 파이프라인이 무엇인지 정의할 수 있다. 파이프라인을 구성하는 단계(Stages)와 작업(Actions)에 대해 설명할 수 있다. AWS 개발자 도구를 활용하여 파이프라인을 구축할 수 있다. 배포 자동화 파이프라인 구축 과정에서 문제가 발생할 경우, log 파일과 공식 문서를 통해 해결할 수 있다. 다양한 배포 전략 (롤링, 블루/그린, 카나리)을 이해할 수 있다. 한 번의 클릭 혹은 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것 수동적이고 반복적인 배포 과정을 자동화함으로써 시간이 절약됨 휴먼 에러를 방지할 수 있음 배포 자동화 파이프라인 소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조 전제 배포 과정을 여러..

Code States/TIL 2023.04.24

[0421] (페어) 지속적 통합 - 환경 변수 분리

Bare minimum requirement GitHub Action을 이용하여 CI 상에서 Mini node server를 Docker 이미지로 만든 후, 여러분의 Docker Hub에 push하세요. Getting Started 두 번째 스프린트는 앞서 GitHub Action으로 진행한 빌드/테스트 자동화가 끝나고 진행되는 스프린트입니다. 1. CI 상에서 주어진 Dockerfile을 이용해 Docker 이미지를 빌드할 수 있도록, workflow를 새로 만드세요. 다음 레퍼런스를 참고해서 Docker 빌드용 GitHub Action workflow를 만드세요. workflow를 추가한다고 해서 GitHub Action이 즉시 작동하지는 않을 것입니다. repository에서 오른쪽 사이드바를 살펴..

Code States/TIL 2023.04.21

[0421] 지속적 통합 - 릴리스 준비

학습 목표 지속적 통합의 필요성을 설명할 수 있다. 지속적 통합 개념이 나오게 된 배경을 이해할 수 있다. 지속적 통합의 장점을 설명할 수 있다. 지속적 통합의 원칙을 이해할 수 있다. 빌드/테스트의 개념을 이해할 수 있다. 테스트 주도 개발(TDD)에 대한 정의와 필요성을 설명할 수 있다. 테스트 주도 개발(TDD) 사이클을 설명할 수 있다. 테스트의 종류 (단위 테스트, 통합 테스트, E2E 테스트)를 설명할 수 있다. 릴리스의 개념을 이해할 수 있다. CI 도구(여기서는 GitHub Action)를 이용하여 지속적 통합이 이루어지는 과정을 직접 구현할 수 있다 다양한 CI 도구의 차이점을 이해할 수 있다. 코드와 환경 변수를 분리해야 하는 이유를 설명할 수 있다. 환경 변수 운영체제 혹은 소프트웨어..

Code States/TIL 2023.04.21