<1> 리눅스 서버 접속
<2> CodeDeploy 에이전트 설치 , Http 보안 그룹 허용
<3> 코드 준비
<4> 배포
<5> 모니터링
<6> 업데이트
<0> 사전 준비
role arn
<1> linux EC2 접속
putty
<2> CodeDeploy 에이전트 설치 , Http 보안 그룹 허용
1
EC2에 CodeDeploy 에이전트 설치
# service codedeploy-agent status
The AWS CodeDeploy agent is running as PID 12413
2
보안그룹 any에서 http 허용
<3> 코드 준비
1. 코드 준비
2. 웹서버 , 마리아 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
5
stop 스크립트
vi /tmp/WordPress/scripts/stop_server.sh
// 코드
6
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
7
권한 허용 스크립트
vi /tmp/WordPress/scripts/change_permissions.sh
#!/bin/bash
chmod -R 777 /var/www/html/WordPress
8
모든 스크립트 실행되게
chmod +x /tmp/WordPress/scripts/*
9
ls -la /tmp/WordPress/scripts
10
배포시 ec2에서 사용할 스크립트 지정
디렉토리 지정
vi /tmp/WordPress/appspec.yml
appspec.yml 파일 내용
// 스크립트들 실행
<4> 배포
s3를 서버로 해서 배포한다.
aws configure
1
CodeDeploy 응용프로그램 만들기
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 .
// 버킷이름 변경
aws deploy push --application-name WordPress_App --description "This is a revision for the application WordPress_App" --ignore-hidden-files --s3-location s3://code-bucket11/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 이름은 대체해야 함.
// deployment-group-name WordPress_DG
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 arn:aws:iam::928585294515:role/codedeploy-service-role
5
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"
// 버킷이름 변경
aws deploy create-deployment --application-name WordPress_App --s3-location bucket=code-bucket11,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
<6> update
감사합니다.