Skip to content

Commit 02863be

Browse files
committed
ci/cd: test27
1 parent 631e603 commit 02863be

File tree

1 file changed

+30
-10
lines changed

1 file changed

+30
-10
lines changed

.github/workflows/deploy-ec2-s3.yml

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,27 +75,46 @@ jobs:
7575
7676
- name: Upload Deploy Script to S3
7777
run: |
78-
echo "#!/bin/bash" > deploy_script.sh
79-
echo "mkdir -p /home/ec2-user/ttoklip/application/deploy" >> deploy_script.sh
80-
echo "sudo mkdir -p /home/ec2-user/ttoklip/application" >> deploy_script.sh
81-
echo "sudo chown -R ec2-user:ec2-user /home/ec2-user/ttoklip" >> deploy_script.sh
82-
echo "sudo chmod -R 755 /home/ec2-user/ttoklip" >> deploy_script.sh
83-
echo "aws s3 cp s3://ttoklip-deploy/zips/deploy-package.zip /home/ec2-user/ttoklip/application/deploy-package.zip --region ap-northeast-2" >> deploy_script.sh
84-
echo "unzip -o /home/ec2-user/ttoklip/application/deploy-package.zip -d /home/ec2-user/ttoklip/application/deploy" >> deploy_script.sh
85-
echo "docker-compose -f /home/ec2-user/ttoklip/application/deploy/docker-compose.prod.yml --env-file /home/ec2-user/ttoklip/application/.env up -d --build" >> deploy_script.sh
78+
cat << 'EOF' > deploy_script.sh
79+
#!/bin/bash
80+
81+
# 디렉토리 생성 및 권한 설정
82+
mkdir -p /home/ec2-user/ttoklip/application
83+
sudo chown -R ec2-user:ec2-user /home/ec2-user/ttoklip
84+
sudo chmod -R 755 /home/ec2-user/ttoklip
85+
86+
# 기존 deploy 디렉토리 백업 또는 삭제
87+
if [ -d "/home/ec2-user/ttoklip/application/deploy" ]; then
88+
# 백업
89+
mv /home/ec2-user/ttoklip/application/deploy /home/ec2-user/ttoklip/application/deploy_$(date +"%Y%m%d%H%M%S")
90+
91+
# 삭제
92+
# rm -rf /home/ec2-user/ttoklip/application/deploy
93+
fi
94+
95+
# S3에서 패키지 다운로드
96+
aws s3 cp s3://ttoklip-deploy/zips/deploy-package.zip /home/ec2-user/ttoklip/application/deploy-package.zip --region ap-northeast-2
97+
98+
# 압축 해제 (상위 디렉토리에 해제)
99+
unzip -o /home/ec2-user/ttoklip/application/deploy-package.zip -d /home/ec2-user/ttoklip/application/
100+
101+
# Docker Compose 실행
102+
docker-compose -f /home/ec2-user/ttoklip/application/deploy/docker-compose.prod.yml --env-file /home/ec2-user/ttoklip/application/.env up -d --build
103+
EOF
86104

87105
zip deploy_script.zip deploy_script.sh
88-
106+
89107
aws s3 cp deploy_script.zip s3://ttoklip-deploy/zips/deploy-script.zip --region ap-northeast-2
90108

109+
110+
91111
- name: Deploy to EC2 via SSM
92112
run: |
93113
aws ssm send-command \
94114
--instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \
95115
--document-name "AWS-RunShellScript" \
96116
--comment "Running deployment script" \
97117
--parameters commands=$'\
98-
aws s3 cp s3://ttoklip-deploy/zips/deploy-package.zip /home/ec2-user/ttoklip/application/ --region ap-northeast-2\n\
99118
aws s3 cp s3://ttoklip-deploy/zips/deploy-script.zip /home/ec2-user/ttoklip/application/ --region ap-northeast-2\n\
100119
cd /home/ec2-user/ttoklip/application/\n\
101120
unzip -o deploy-script.zip\n\
@@ -104,5 +123,6 @@ jobs:
104123
--output-s3-bucket-name "ttoklip-deploy" \
105124
--output-s3-key-prefix "ssm-output" \
106125
--region $AWS_REGION
126+
107127

108128

0 commit comments

Comments
 (0)