Aws
EC2 CodeDeploy로 배포하기
wngnl05
2024. 12. 27. 15:15
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"
}
]
}
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의 도커 이미지를
업로드 해줍니다.