-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathprod_revision.sh
More file actions
51 lines (35 loc) · 1.3 KB
/
prod_revision.sh
File metadata and controls
51 lines (35 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
SERVER_TYPE="be"
# S3_BUCKET="your-test-bucket"
echo "S3 목록:"
aws s3 ls ${S3_BUCKET_PROD}/${SERVER_TYPE}/
echo "============="
# 최신 버전 목록 추출
PATCH_VERSIONS=$(aws s3 ls ${S3_BUCKET_PROD}/${SERVER_TYPE}/ | \
awk '{print $NF}' | \
grep -E "^1\.0\.[0-9]+\.zip$" | \
sed -E "s/1\.0\.//; s/\.zip//")
echo "버전 리스트:"
echo "$PATCH_VERSIONS"
# 최신 버전 구하기
LATEST_PATCH=$(echo "$PATCH_VERSIONS" | sort -n | tail -n 1)
echo "최신 patch 버전: $LATEST_PATCH"
NEXT_PATCH=$((LATEST_PATCH + 1))
NEW_VERSION="1.0.${NEXT_PATCH}"
NEW_FILENAME="${NEW_VERSION}.zip"
OLD_FILENAME_LO="${SERVER_TYPE}/1.0.${LATEST_PATCH}.zip"
OLD_FILENAME="1.0.${LATEST_PATCH}.zip"
aws s3 cp "${S3_BUCKET_PROD}/${OLD_FILENAME_LO}" "$OLD_FILENAME"
unzip $OLD_FILENAME -d ./extracted
sed -i "s/backend-repo:.*/backend-repo:${NEW_VERSION}/" ./extracted/scripts/deploy.sh
cd extracted
zip -r ../$NEW_FILENAME . -x "__MACOSX/*" -x "*/__MACOSX/*"
cd ..
# S3 업로드 (버전별 + latest.zip)
aws s3 cp "${NEW_FILENAME}" "${S3_BUCKET_PROD}/${SERVER_TYPE}/"
cp "${NEW_FILENAME}" latest.zip
aws s3 cp latest.zip "${S3_BUCKET_PROD}/${SERVER_TYPE}/"
rm -rf extracted
# Github Actions용 환경변수 출력
echo "NEW_VERSION=${NEW_VERSION}" >> $GITHUB_ENV
echo "NEW_FILENAME=${NEW_FILENAME}" >> $GITHUB_ENV