본문 바로가기

AWS - KOR

# 025) AWS CodePipeline 사용하기

https://aws.amazon.com/ko/codepipeline/

 

AWS CodePipeline | 지속적 통합 및 지속적 전달

AWS CodePipeline은 특정한 요구에 맞게 손쉽게 확장할 수 있습니다. 사전 구축된 플러그인 또는 자체 사용자 지정 플러그인을 릴리스 프로세스 중 원하는 단계에 사용할 수 있습니다. 예를 들면 GitHu

aws.amazon.com

 

CodePipeline 이란?

AWS 의 완전관리형 지속적 전달 서비스 입니다.

소프트웨어를 릴리스하는 데 필요한 단계를 모델링, 시각화 및 자동화할 수 있게 도와 줍니다.

즉 , CI/CD 서비스로 빠르고 편리하게 어플리케이션을 빌드, 테스트, 배포 서비스를 자동화해 줍니다.

 

codepipeline.txt
0.00MB

 

1. 유저 생성하기

Codepipeline 에 대한 유저를 생성 해 보겠습니다.

 

CodeCommitFullAccess 와 CodePipeline_FullAccess 를 지정 해 주었습니다.

 

 

유저 생성후 https git 크리덴셜을 생성 해 줍니다.

 

2. 레포지토리 생성하기

파이프라인을 위한 레포지토리도 생성 해 줍니다.

 

개발환경 도구인 cloud9 을 사용하였습니다.

사진과 같이 index.html / appspec.yml 파일을 설정하고 scripts 파일에는 명령어를 통해 3가지 파일을 설정 해 보겠습니다.

 

* 코드소스 상단 txt 파일 참고

 

 

cd ..
git add .
git status
git commit -m "pipeline"
git push

코드를 push 해 주면서 마무리 해 줍니다.

 

다음과 같이 리포지토리에 파일이 잘 올라왔습니다.

 

 

3. EC2 생성하기

파이프라인을 위한 ec2 생성입니다. 원하는 네트워크, 이미지,키를 설정 해 두고 특이점은 아래사항으로 설정 해 줍니다.

 

 

IAM 인스턴스 프로필의 이전 생성해둔 ec2-codedeploy-role 을 설정 해 줍니다.

 

 

유저 데이터도 다음과 같이 설정 해 주었습니다.

#!/bin/bash
yum update -y
yum install -y ruby
curl -O https://aws-codedeploy-ap-northeast-2.s3.amazonaws.com/latest/install
chmod +x ./install
sudo ./install auto

 

4. CodeDeploy

다음 Codedeploy 의 app 을 생성 해 줍니다.

 

이름과 플랫폼을 설정하고 생성 해 준뒤 배포 그룹도 함께 생성 해 줍니다.

 

배포 그룹의 옵션을 다음과 같이 설정 해 줍니다.

 

환경 설정에는 파이프라인을 위해 설정해둔 ec2 를 연결 해 줍니다.

 

 

나머지는 기본값으로 해 둔뒤 로드밸랜서는 비활성화 해 주었습니다.

 

 

5. CodePipeline

pipeline 을 생성 해 봅니다.

 

이름을 설정 해 주고 새로운 역할을 바로 생성 해 줍니다.

 

 

Source 옵션을 다음과 같이 레포지토리와 연결 해 줍니다.

 

 

build 는 이단계에서 skip 해 주었습니다.

 

deploy 단계에선 이전 생성 해 주었던 app 과 그룹들을 연결 시켜 줍니다.

 

코드 파이프라인에 대한 배포가 정상적으로 완료되면 다음과 같이 성공적으로 완료 됩니다.

 

 

배포를 확인 해보기 위해 파이프라인의 ec2 의 퍼블릭 ip 주소로 접속을 해 봅니다.

 

 

Html 에 변경사항이 있다면

git add .

git status

git commit -m "pipeline"

git push

코드 푸쉬를 진행 후 release change를 적용 해 줍니다.