지속적 전달 파이프라인 생성
https://aws.amazon.com/ko/getting-started/hands-on/create-continuous-delivery-pipeline/
위 링크는 Github 에 소스를 fork 하여 다운로드 받아, aws 환경에 node.js 기반 웹 어플리케이션을 배포하는 튜토리얼입니다.
TO DO
- Github 리포지토리 설정
- AWS Elastic Beanstalk 환경 설정 (web app 배포를 위한)
- AWS CodeBuild 구성 (Github 소스코드 build)
- AWS CodePipeline 활용 소스, 빌드, 배포까지의 지속적 전달 파이프라인 설정.
Application Archiecture
- AWS CodePipeline 은 아래 요소들을 연결하여, 지속적 전달 파이프라인을 구성한다.
- Git Repository
- AWS CodeBuild
- Manual Approval
- AWS ElasticBeanstalk

Module 1
Git 활용 코드 리포지토리 상호 작용.
Git - 소스코드 변경사항 관리 오픈소스 버전 제어 도구
Git Repo - 메타데이터 포함 버전 제어 시스템 포함 모든 파일, 디렉토리가 있는 위치.
Git Commit - 변경 사항 기록 메소드
Repository push - 로컬 호스트 소스를 원격에 적용
Repository fork - 기존 레포지토리 복사본 생성
Module 2
AWS Elastic Beanstalk 에 어플리케이션 배포.
- 구성
- Application 실행에 필요한 aws resource
- ec2 instance - 클라우드 가상서버 (환경 생성 시 하나 이상의 amazon ec2 instance)
- 웹 서버 - http protocol 활용 인터넷 제공 콘텐츠 소프트웨어
- platform - OS, 프로그래밍 언어 런타임, 웹 서버, 어플리케이션 서버 및 Elastic Beanstalk 구성요소의 집합.
Module 3
AWS CodeBuild 활용 Github 리포지토리 소스를 작성함.
- To Do
- 빌드 프로젝트 생성
- Github 를 프로젝트 소스 공급자로 설정
- AWS CodeBuild에서 빌드 실행
- 튜토리얼은 위 링크에 있는 AWS 가이드대로 따라하시면 됩니다.
Module 4
AWS CodePipeline 활용 소스, 빌드, 배포 단계로 구성된 CI/CD Pipeline 구성.
- To Do
- AWS CodePipeline 지속적 전달 파이프라인 구성
- Github 리포지토리 활용 소스 단계 구성
- AWS CodeBuild 를 통한 빌드단계 구성
- AWS ElasticBeanstalk application 활용 배포 단계 구성
- 파이프라인 활용 호스팅 Application 을 Elasticbeanstalk 에 배포
- 주요 개념
- 지속적 전달 : 빌드, 테스트, 배포를 자동화하여 소프트웨어를 더 빠르게 릴리즈함.
- 파이프라인 : 소프트웨어 변경사항을 전달하는 워크플로우 모델
- 단계 : 파이프라인 내 각 작업 수행되는위치.
- 작업 : 실행되는 테스크 들의 집합.
- 튜토리얼
- 소스단계 구성
- 소스공급자 : Github 1
- 리포지토리 : Github 프로젝트 설정
- 브랜치 : main
- 웹 후크 설정
- 빌드단계 구성
- 빌드공급자 : AWS CodeBuild
- 리전 : 미국 서부
- 프로젝트이름 : Build-DevOpsGettingStarted
- 단일 빌드
- 배포단계 구성
- AWS ElasticBeanstalk
- 미국 서부
- DevOpsGettingStarted App
- DevOpsGettingStarted env
- 소스단계 구성
Module 5
AWS CodePipeline 에 검토 단계 추가.
서비스 변경 시 승인 후 배포하도록 하는 단계 추가.
(작업 거부 혹은 7일 내 아무도 승인 안할경우 작업 실패와 동일)
- To DO
- AWS CodePipeline Console 오픈
- Review 단계 추가
- 검토 그룹 - 작업 그룹 추가
- 작업 이름 : Manual Review
Build 진행 중에 Review 단계를 추가하면, Build 가 성공된 후 Review 에서 승인 버튼 누르면, AWS ElasticBeanstalk 콘솔에서 Devopsgettingstarted-env 에 있는 도메인을 클릭하면 Node.js Application 이 배포됨을 확인할 수 있다.
요약
Jenkins 로 Pipeline 을 구성하더라도, AWS CodePipeline 과 동일하게 나온다.
Github 프로젝트만 구성되어 있다면, CI/CD 를 하나의 화면에서 모두 처리할 수 있다는 건 확실한 장점이라고 생각합니다. 업무에 바로 활용하기 보다는 AWS 에서 이런 기능이 있다 정도로만 알고 넘어가면 될 것 같습니다.
'개발 > AWS' 카테고리의 다른 글
| AWS VPC 튜토리얼 (0) | 2020.12.14 |
|---|