Aws

EC2 CodeDeploy로 배포하기

wngnl05 2024. 12. 27. 15:15

Install Module

sudo yum update
sudo yum install ruby -y
sudo yum insatll wget -y
wget https://aws-codedeploy-ap-northeast-2.s3.ap-northeast-2.amazonaws.com/latest/install
chmod +x ./install
sudo ./install auto

Check

sudo systemctl status codedeploy-agent
sudo systemctl start codedeploy-agent

블로그

Ec2 & CodeDeploy 역활 신뢰 정책

역활을 생성하고 EC2와 CodeDeploy에 연결해주세요.

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Allow",
			"Principal": {
				"Service": [
					"ec2.amazonaws.com",
					"codedeploy.ap-northeast-2.amazonaws.com"
				]
			},
			"Action": "sts:AssumeRole"
		}
	]
}

Down File

Dockerfile, appspec.yml, buildspec.yaml, ec2_deploy.sh 를 수정해줍니다.

appspec.yml 파일 이름을 변경하지 마세요.

wget https://raw.githubusercontent.com/wngnl-dev/AWS/main/CICD/EC2_Deploy/appspec.yml
wget https://raw.githubusercontent.com/wngnl-dev/AWS/main/CICD/EC2_Deploy/buildspec.yaml
mkdir script
wget -O script/ec2_deploy.sh https://raw.githubusercontent.com/wngnl-dev/AWS/main/CICD/EC2_Deploy/script/ec2_deploy.sh

 

- CodeDeploy 모두 온프레미스 인스턴스를 선택해줍니다.

 

 

- CodePipeline 

 

이제 파이프라인이 구동되면 CodeBuild에서 Docker Image를 생성하여 Commit ID로 ECR

에 업로드 하고 CodeDeplpoy에서 appspec.yml과 ec2_deploy.sh를 이용해서 EC2의 도커 이미지를

업로드 해줍니다.