cloud bee

code pipeline 간단하게 구현 본문

AWS/code

code pipeline 간단하게 구현

who you 2022. 10. 31. 22:16

파이프라인 이미지

위에 있는 사진은 해당 실습에서 사용할 아키텍처이다.

해당 아키텍처를 참고하여 codepipeline에 관한 실습을 진행하도록 할 것이다.

 

목표: codecommit에 업로드된 test.txt를 codebuild를 통해 test.txt 내용물 안에 있는 'a'라는 알파벳을

'ㅁ'으로 치환한 후 S3에 업로드하도록 한다.

 

우리가 해당 목표를 구현하기 위한 단계이다.

 

요구사항

1. amazon web service console 계정을 준비한다.

2. 적절한 IAM 권한을 생성해 준다.

3. code commit을 생성한다.

4. S3를 생성한다.

5. codecommit에 test.txt, buildspec.yml을 업로드한다.

6. codebuild를 생성하도록 한다.

7. codepipeline을 생성하여 위 모든 과정을 자동화하도록 한다.

 

우선 1번 항목부터 한번 진행하도록 하겠다.,

 

1. amazon web service console 계정을 준비한다.

'console.aws.amazon.com'이라는 주소로 접근할 수 있는 계정을 미리 준비하도록 하자.

준비가 되었다면 로그인을 하여 다음 실습을 진행하도록 한다.

 

2. 적절한 IAM 권한을 생성한다.

codebuild에서 사용할 적절한 IAM 권한을 생성하도록 하자 S3에 업로드만 하면 되니 업로드 권한만 부여하면 될 거 같다.

 

3. code commit을 생성한다.

이제 원활한 실습을 진행하기 위해 codecommit를 생성하도록 한다. amazon web service console 창에서 codecommit을 검색하여 접속해 주자.

리포지토리 생성

접속을 하게 된다면 리포지토리 생성 할 수 있는 항목이 눈에 띌 것이다. 리포지토리를 생성하도록 하자.

해당 repository의 이름을 demo-repo로 지정하도록 하자

 

리포지토리 이름

 

4. S3를 생성한다.

S3 생성

해당 S3의 이름을 demo-korea-s3로 지정한다. 리전은 ap-northeast-2(서울)로 설정하도록 한다.

 

5. codecommit에 test.txt, buildspec.yml을 업로드한다.

이제 해당 test.txt 파일 안에는 다음과 같은 내용을 기입하도록 한다.

Operate Apache server in aws and distribute to external users.
To make an instance accessible only through a key pair.
To enable access using a port other than number 22....

파일 생성

 

이제 test.txt를 업로드하였으니, buildspec.yml을 작성하도록 한다.

buildspec.yml은 다음과 같은 코드로 작성하면 된다. 예의상 형식에 맞추어 작성해 주었다.

version: 0.2
phases:
  install:
    commands:
      - echo Entered the install phase...
  pre_build:
    commands:
      - echo Entered the pre_build phase...
  build:
    commands:
      - echo Entered the build phase...
      - echo Build started on `date`
      - sed -i 's/a/ㅁ/g' test.txt
  post_build:
    commands:
      - echo Entered the post_build phase...
      - echo Build completed on `date`
      - aws s3 cp test.txt s3://demo-korea-s3
artifacts:
  files:
    - test.txt
cache:
  paths:
    - '/root/.m2/**/*'

buildspec.yml

 

6. codebuild를 생성하도록 한다.

이제 codebuild의 프로젝트 빌드란에 들어가서 빌드프로젝트 생성버튼을 눌러 빌드를 생성하도록 한다.

codebuild 생성
codebuild 환경

기존 서비스 역할을 선택하여 2번에서 생성하였던 IAM 역할을 사용하면 된다. 이제 프로젝트를 생성해 보자

 

이제 빌드를 시작한다.

결과물 확인

 

7. codepipeline을 생성하여 위 모든 과정을 자동화하도록 한다.

 

파이프라인을 생성한다. 이름은 demo-pipeline으로 지정한다.

파이프라인 이름

 

이제 다음단계를 따라 구성하도록 한다.

소스 공급자 설정
빌드 스테이지 설정
건너뛰기

 

이제 여기 단계까지 왔다면 파이프라인을 생성하도록 해보자

파이프라인 생성

 

 

다음은 생성을 하고 난 후의 결과물이다.

마지막 결과물

 

오늘은 code-pipeline을 간단하게 구현하여 나타내 보았다. 다음에는 code deploy를 사용하여 구현하도록 하겠다.

'AWS > code' 카테고리의 다른 글

sns 메시지 게시할때마다 cloudwatch로 기록하기  (0) 2023.01.29
[ Terraform ] aws에서 테라폼 사용하기  (0) 2023.01.26
Lambda 볼륨 암호화  (0) 2023.01.16
Serverless Api test  (0) 2022.11.09
Comments