CodeDeploy

phantom0308
4 min readFeb 3, 2020

--

CodeBuild 연계

앞서 CodeBuild 를 통해서 S3에 아티팩트 파일을 생성하였다.

CodeDeploy를 위해서는 appspec.yml이 필요하므로 빌드 시 zip 파일에

appspec.yml 파일과 그 안에서 사용할 shell 을 함께 넣어놓았다.

아티팩트 zip파일 :

appspec.yml

version: 0.0os: linuxfiles:- source: target/GBMP-1.0.wardestination: /home/ec2-user/build/hooks:BeforeInstall:- location: scripts/before_install.shtimeout: 300runas: rootAfterInstall:- location: scripts/after_install.shtimeout: 300runas: rootApplicationStart:- location: scripts/start_server.shtimeout: 300runas: rootApplicationStop:- location: scripts/stop_server.shtimeout: 300runas: root

files 는 war 파일 경로와 그 war 파일을 어디에 생성 시킬지 destination 경로를 적어준다.

before_install.sh :

#!/bin/bashrm -rf /home/ec2-user/build/GBMP*

after_install.sh :

#!/bin/bash#

start_server.sh :

#!/bin/bashcd /home/ec2-user/buildjava -jar GBMP-1.0.warexit 0

stop_server.sh :

#!/bin/bashisExistApp=`pgrep java`if [[ -n  $isExistApp ]]; thenservice tomcat8 stopfi

CodeDeploy 순서 : 애플리케이션 생성 - 배포그룹 생성- 배포 생성

애플리케이션에서 애플리케이션 생성을 클릭한다.

애플리케이션 이름과 배포하려는 컴퓨팅 플랫폼(EC2/온프레미스) 환경으로 생성한다.

생성된 애플리케이션에 배포 그룹을 생성해준다.

배포그룹 이름과 서비스 역할 입력 후

배포하려는 인스턴스 선택(Name — 배포 EC2서버 태그 추가)

로드 밸런서는 지금 사용하지 않으므로 활성화 체크 해지 후 그룹 생성한다.

생성된 배포그룹 목록을 클릭 하여, 배포 생성한다.

배포 생성 클릭.

개정 위치에 S3에 올라간 버킷명/폴더명/파일명

개정 파일의 형식을 선택하여 배포만들기.

아래와 같이 배포 내역이 생성되고 배포 실패, 성공에 대한 내용이 노출된다.

deploy가 성공한다면 아래와 같이 war 파일이 해당 경로에 생성된다.

--

--

No responses yet