Section 3 - 69일차

노태경·2021년 7월 12일
0

SEB-Section 3

목록 보기
27/31

1. Toy - 42일차

  • 가십 프로토콜 2
    N x N 배열에서 정해진 수만큼 소문이 퍼지는 최소 일 수
    기존에 가십 프로토콜은 출발지가 있어서 단순히 BFS 방법을 사용해 해결할 수 있었다
    이번 문제는 출발지도 정해져 있지 않아 모든 경우를 다 알아보려 했다
    정보를 알고있는 주민들을 큐에 다 추가해서 시작했어야 함!

2. 배포 자동화

  • 시간 절약
  • 휴먼 에러 방지(실수)
  • 배포 파이프라인
    Source Stage - Build Stage - Deploy Stage
    Source Stage : 원격 저장소에서 관리되고 있는 소스 코드의 변경을 감지하고 다음 단계에 전달
    Build Stage : Source단계에서 전달받은 코드를 컴파일, 빌드, 테스트하여 가공하고 다음 단계에 전달
    Deploy Stage : Build단계에서 전달받은 결과물을 실제 서비스에 반영

상황과 필요에 따라 단계는 더 세분화되거나 간소화될 수 있다.

  • AWS 개발자 도구

CodeCommit
Source 단계 구성
Github와 유사한 버전 관리 도구
Github와 비교했을 때, 보안관련 기능에서 강점
프리티어 한계 이상으로 사용시 과금될 수 있음 >> 사이드 프로젝트나 가볍게 작성한 것을 배포할 때는 Github를 이용하는게 나음

CodeBuild
Build 단계
유닛 테스트, 컴파일, 빌드와 같은 작업을 명령어를 통해서 실행할 수 있음
buildspec.yml 파일을 참조하여 작업 수행

CodeDeploy
Deploy를 구성하는 다양한 서비스 중 하나
실행되고 있는 서버 애플리케이션에 실시간으로 변경 사항을 전달할 수 있음
버킷에 업로드된 정적 웹 사이트에 변경 사항을 실시간으로 전달하고 반영할 수 있음
appspec.yml 파일을 참조하여 작업 수행

CodePipeline
각 단계를 연결하는 파이프 라인을 구축할 때 사용

sprint

S3, CodeBuild, CodePipeline을 이용해 클라이언트 배포 자동화 >> 빌드 환경 설정에서 환경 변수 설정
EC2, CodePipeline을 이용해 서버 배포 자동화 >> Parameter Store를 통해 환경변수 설정

삽질) 환경 변수를 참조하는 방법이 다른 것일까? process.env로 참조하면 undefined가 뜬다, 당연한 것인가
검색어가 잘못된 걸까? 만족스러운 결과가 안나온다

review

  • 빌드 >> 클라이언트가 필요한 것!
    서버가 TypeScript로 작성됐으면 서버도 빌드 필요

  • Branch >> master - dev - feature

  • Build에서 사용자 지정 이미지를 통해 Docker이미지를 바로 쓸 수도 있음!!

  • CI/CD
    Continuos Integration/Continuos Delivery
    위 스프린트에서 배포 자동화를 한것은 맞으나 CI/CD를 한 것은 아니다~
    일부 단계가 빠졌기 때문(Test, Operate)

profile
개발자 공부 일기😉

0개의 댓글