Lecture-CI/CD, AWS의 CI/CD

박건희·2021년 11월 8일
0

1. CI/CD란

  • CI : Continuous Integration
  • CD : Continuous Deployment
    지속적으로 컴파일해서 지속적으로 배포

2. CI

  • Source code를 통합하여 Build까지

3. CD

  • Build된 프로젝트를 Test하고, Production으로 배포

4. AWS CI/CD 서비스

  • code commit
    • 프라이빗 버전 관리 서비스 (like Git)
  • code build : 소스 코드 컴파일, 단위 테스트, (배포) artifact 생성
    • code build를 사용하면 빌드용 서버를 둘 필요가 없음
    • maven, gradle 등 PL 및 빌드 도구에 맞게 패키징된 빌드 환경 제공
  • code deploy : EC2, on-premise, lambda 등으로 어플리케이션 배포를 자동화해주는 도구
    • s3, github 등에 저장된 컨텐츠를 배포할 수 있음
  • code pipeline : 위 3가지를 하나로 통합한 서비스

5. 배포 예제

S3에 jar(war) 파일을 저장하고, EC2에서 S3로 접근할 권한을 얻어서 파일 download,
Code Deploy가 S3의 source를 EC2에 배포
로컬(소스코드) -> S3 -> Code Deploy -> EC2

(1) IAM에서 역할 만들기

  • EC2 : S3로 접근할 권한 획득
  • Code Deploy : EC2로 접근할 권한 획득

(2) EC2 생성

  • IAM 역할 : 1)에서 생성한 역할 할당
  • (태그 할당)

(3) IAM - 사용자 추가

  • 일반적으로 AWS 서비스에 외부 서비스는 접근 불가
  • AWS 외부 서비스가 AWS 서비스에 접근할 권한 생성
  • (1)에서 만든 2가지 정책과 연결한다

(4) EC2에 접속하여 Code Deploy 설치

sudo yum update
sudo yum ruby
sudo yum install wget
wget https://aws-codedeploy-ap-
chmod +x install
sudo ./install auto
sudo service codedeploy-agent status   -- pid 뜨면 제대로 설치/실행 된 것

5) S3 bucket 생성

6)

0개의 댓글