Skip to content

App Health Check

App Health Check #117

Workflow file for this run

# μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„μ˜ νŠΉμ • URL둜 μš”μ²­μ„ 보내어 λ™μž‘ μƒνƒœλ₯Ό ν™•μΈν•˜λŠ” μ›Œν¬ν”Œλ‘œμž…λ‹ˆλ‹€.
# 맀 0뢄을 κΈ°μ€€μœΌλ‘œ μžλ™μœΌλ‘œ λ™μž‘ν•˜λ©°, 이상이 μžˆμ„ 경우 κ΄€λ¦¬μžμ˜ μŠ¬λž™μœΌλ‘œ μ•Œλ¦Όμ„ μ „μ†‘ν•©λ‹ˆλ‹€.
name: App Health Check
on:
schedule:
- cron: '0 * * * *'
jobs:
healthcheck:
runs-on: ubuntu-latest
steps:
# ν˜„μž¬ μ‹œκ°„ μ–»κΈ°
- name: Get current time
uses: josStorer/[email protected]
id: current-datetime
with:
format: YYYY-MM-DDTHH:mm:ss
utcOffset: "+09:00"
# μ„œλ²„ 온라인 μƒνƒœ 확인
- name: Check Server Online
uses: Jtalk/url-health-check-action@v4
with:
url: ${{ secrets.SERVER_URL }}
max-attempts: 3
retry-delay: 10s
# μŠ¬λž™ λ©”μ‹œμ§€ 전솑 (성곡)
- name: Send Slack Message on Success
if: success()
uses: 8398a7/[email protected]
with:
status: success
text: |
βœ… *μ„œλ²„ ν—¬μŠ€ 체크 성곡*
μ„œλ²„μ— API μš”μ²­μ„ μ‹œλ„ν•˜μ˜€μœΌλ©°, μ •μƒμ μœΌλ‘œ λ™μž‘ν•˜λŠ” κ²ƒμœΌλ‘œ ν™•μΈλ©λ‹ˆλ‹€.
μž‘μ—… μΌμ‹œ: ${{ steps.current-datetime.outputs.formattedTime }}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
# μŠ¬λž™ λ©”μ‹œμ§€ 전솑 (μ‹€νŒ¨)
- name: Send Slack Message on Failure
if: failure()
uses: 8398a7/[email protected]
with:
status: failure
text: |
🚨 *μ„œλ²„ ν—¬μŠ€ 체크 μ‹€νŒ¨*
μ„œλ²„μ— API μš”μ²­μ„ 3회 μ‹œλ„ν•˜μ˜€μœΌλ‚˜, μ˜¬λ°”λ₯΄κ²Œ λ™μž‘ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
κ΄€λ¦¬μžλ‹˜κ»˜μ„œλŠ” 원인을 νŒŒμ•…ν•˜μ—¬ μ μ ˆν•œ 쑰치λ₯Ό μ·¨ν•΄μ£Όμ„Έμš”.
μž‘μ—… μΌμ‹œ: ${{ steps.current-datetime.outputs.formattedTime }}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}