brunch

You can make anything
by writing

- C.S.Lewis -

by Master Seo Jun 07. 2020

396. CodeDeploy

CodeDeploy 작업 순서만 확인 하기 바란다.


<1> 리눅스 서버 접속

<2> 에이전트 설치

<3> 코드 준비

<4> 배포

<5> 모니터링

<6> 업데이트



<0> 사전 준비

role arn



<1>  linux EC2 접속

putty



<2>  에이전트 설치 , 보안 그룹 허용


1

EC2에 에이전트 설치

[root@ip-10-200-10-232 ~]# service codedeploy-agent status

The AWS CodeDeploy agent is running as PID 12413

2

보안그룹 any에서 http   허용



<3> 코드 준비

//  코드 준비

// 웹서버 , 마리아 DB실행 


1 . 소스 코드 다운로드

wget https://s3-us-west-2.amazonaws.com/us-west-2-aws-training/awsu-spl/spl-82/1.4.1.prod/scripts/WordPress-master.zip


unzip WordPress-master.zip -d /tmp/WordPress_Temp


mkdir -p /tmp/WordPress


//tmp wordpress폴더를 소스로 하기 위해 복사.

cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress


rm -rf /tmp/WordPress_Temp

rm -f WordPress-master.zip



2

스크립트 폴더 만들기

mkdir -p /tmp/WordPress/scripts


3

설치전 스트립트 만들기

vi  /tmp/WordPress/scripts/install_dependencies.sh

#!/bin/bash

yum install -y httpd php mariadb-server php-mysqlnd


4

시작 스크립트작성

vi  /tmp/WordPress/scripts/start_server.sh

#!/bin/bash

service httpd start

service mariadb start


stop 스크립트

vi /tmp/WordPress/scripts/stop_server.sh 

// 코드



5

DB생성 스크립트

vi  /tmp/WordPress/scripts/create_test_db.sh

#!/bin/bash mysql -uroot <<CREATE_TEST_DB

CREATE DATABASE IF NOT EXISTS test;

CREATE_TEST_DB


6

권한 허용 스크립트

vi  /tmp/WordPress/scripts/change_permissions.sh

#!/bin/bash

chmod -R 777 /var/www/html/WordPress


7

모든 스크립트 실행되게 

chmod +x /tmp/WordPress/scripts/*



ls -la /tmp/WordPress/scripts



8

배포시 ec2에서 사용할 스크립트 지정

디렉토리 지정

vi /tmp/WordPress/appspec.yml


9

appspec.yml 파일 내용

// 스크립트들 실행





<4> 배포


s3를 서버로 해서 배포한다.


aws configure


1

응용프로그램 만들기

aws deploy create-application --application-name WordPress_App


2

버킷 만들기

aws s3 mb s3://code-bucket11


cd /tmp/WordPress



3

S3에  애플리케이션 업로드

aws deploy push --application-name WordPress_App --description "This is a revision for the application WordPress_App" --ignore-hidden-files --s3-location s3://BUCKET/WordPressApp.zip --source .

// 버킷이름  변경


4

배포

aws deploy create-deployment-group --application-name WordPress_App --deployment-config-name CodeDeployDefault.AllAtOnce --deployment-group-name WordPress_DG --ec2-tag-filters Key=Name,Value=CodeDeploy,Type=KEY_AND_VALUE --service-role-arn ROLE


//ROLE 이름은 대체해야 함.



aws deploy create-deployment --application-name WordPress_App --s3-location bucket=BUCKET,key=WordPressApp.zip,bundleType=zip --deployment-group-name WordPress_DG --description "This is a revision for the application WordPress_App"

// 버킷이름  변경



<5> 모니터링


Service > CodeDeploy > Support


View events


public IP

/WordPress




<6>  update


워드프레스 사이트 접속

 test

root


mySite

user1


install wordpress



수정

sudo chmod -R 755 /var/www/html/WordPress


cd /tmp/WordPress


sed -i 's/#fff/#768331/g' wp-content/themes/twentyseventeen/style.css


aws deploy push --application-name WordPress_App --s3-location s3://BUCKET/WordPressApp.zip --ignore-hidden-files



services  > code deploy

applications > wordpress app > revisions 


create deploy



감사합니다.

매거진의 이전글 395. ElastiCache

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari