Skip to content

Commit 1480f7c

Browse files
fix: workflow 수정 (#169)
1 parent f4f26df commit 1480f7c

1 file changed

Lines changed: 54 additions & 5 deletions

File tree

.github/workflows/deploy-to-dev-ec2.yml

Lines changed: 54 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,17 @@ jobs:
1414
packages: write
1515

1616
env:
17-
IMAGE_REPO: ghcr.io/${{ github.repository }}
1817
CONTAINER_NAME: saerok-dev
1918
COMPOSE_FILE_REMOTE: docker-compose.dev.yml
2019

2120
steps:
2221
- name: 🧾 Checkout
2322
uses: actions/checkout@v4
2423

24+
# GHCR 레포(org/repo)를 소문자로 정규화
25+
- name: 🔧 Normalize image repo
26+
run: echo "IMAGE_REPO=ghcr.io/${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV
27+
2528
- name: 🔧 Set up Docker Buildx
2629
uses: docker/setup-buildx-action@v3
2730

@@ -41,6 +44,16 @@ jobs:
4144
type=raw,value=dev-latest
4245
type=sha,format=long,prefix=dev-,suffix=
4346
47+
- name: 📌 Show image tags
48+
run: |
49+
echo "::group::Image tags"
50+
echo "${{ steps.meta.outputs.tags }}" | tr ' ' '\n'
51+
echo "::endgroup::"
52+
{
53+
echo "### 🏷️ Image tags";
54+
echo '${{ steps.meta.outputs.tags }}' | tr ' ' '\n' | sed 's/^/- /';
55+
} >> $GITHUB_STEP_SUMMARY
56+
4457
- name: 🏗️ Build and push image
4558
uses: docker/build-push-action@v6
4659
with:
@@ -52,6 +65,15 @@ jobs:
5265
cache-from: type=registry,ref=${{ env.IMAGE_REPO }}:buildcache
5366
cache-to: type=registry,ref=${{ env.IMAGE_REPO }}:buildcache,mode=max
5467

68+
- name: ✅ Verify image pushed
69+
run: |
70+
echo "::notice::Pushed to $IMAGE_REPO (primary tag: dev-latest)"
71+
{
72+
echo "### ✅ Build & Push";
73+
echo "- Repo: \`$IMAGE_REPO\`";
74+
echo "- Primary tag: \`dev-latest\`";
75+
} >> $GITHUB_STEP_SUMMARY
76+
5577
- name: 🚀 Deploy on EC2 via SSH
5678
uses: appleboy/ssh-action@v1
5779
with:
@@ -85,7 +107,8 @@ jobs:
85107
section "1) Stop legacy raw JAR if running"
86108
if pgrep -fa "java .* -jar" >/dev/null 2>&1; then
87109
banner "Stopping old raw JAR process..."
88-
pkill -f "java .* -jar" || true
110+
set +e
111+
pkill -f "java .* -jar"
89112
for i in $(seq 1 20); do
90113
if pgrep -fa "java .* -jar" >/dev/null 2>&1; then
91114
echo "waiting old jar... ($i)"
@@ -94,6 +117,7 @@ jobs:
94117
break
95118
fi
96119
done
120+
set -e
97121
else
98122
banner "No raw JAR process found."
99123
fi
@@ -105,15 +129,15 @@ jobs:
105129
pwd
106130
endsection
107131
108-
section "3) Docker login (pull from GHCR)"
132+
section "3) Docker login (GHCR pull)"
109133
echo "${{ secrets.GHCR_TOKEN }}" | docker login ghcr.io -u "${{ secrets.GHCR_USERNAME }}" --password-stdin
110134
endsection
111135
112136
section "4) Generate ${COMPOSE_FILE_REMOTE}"
113137
cat > ${COMPOSE_FILE_REMOTE} <<'YAML'
114138
services:
115139
app:
116-
image: ghcr.io/${{ github.repository }}:dev-latest
140+
image: ${{ env.IMAGE_REPO }}:dev-latest
117141
container_name: saerok-dev
118142
restart: always
119143
ports:
@@ -148,7 +172,8 @@ jobs:
148172
start_period: 60s
149173
YAML
150174
banner "Compose file written: ${COMPOSE_FILE_REMOTE}"
151-
docker compose -f ${COMPOSE_FILE_REMOTE} config
175+
# 비밀 유출 방지: 서비스 이름만 표시
176+
docker compose -f ${COMPOSE_FILE_REMOTE} config --services || true
152177
endsection
153178
154179
section "5) Pull & Up (recreate)"
@@ -183,3 +208,27 @@ jobs:
183208
endsection
184209
185210
banner "✅ Deploy done"
211+
212+
- name: 🧾 Summary
213+
if: always()
214+
run: |
215+
{
216+
echo "## 🚀 Deploy Summary";
217+
echo "";
218+
echo "- Image repo: \`${{ env.IMAGE_REPO }}\`";
219+
echo "- Tags pushed:";
220+
echo '${{ steps.meta.outputs.tags }}' | tr ' ' '\n' | sed 's/^/ - /';
221+
echo "";
222+
echo "### Health";
223+
echo "- Target container: \`${{ env.CONTAINER_NAME }}\`";
224+
echo "- Health check: \`GET /health\`";
225+
echo "";
226+
echo "### Useful commands (on EC2)";
227+
echo "\`\`\`bash";
228+
echo "ssh ubuntu@${{ secrets.EC2_HOST }}";
229+
echo "cd ~/saerok";
230+
echo "docker compose -f ${COMPOSE_FILE_REMOTE} ps";
231+
echo "docker logs -f ${CONTAINER_NAME}";
232+
echo "curl -i localhost:8080/health";
233+
echo "\`\`\`";
234+
} >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)