【Github Actions】Renderのworkflows設定
内容
RENDER_API_KEY, RENDER_SERVICE_ID はGithubのrepoのsettingsから登録する。
それぞれRenderのダッシュボードから値を取得できる。
RENDER_API_KEY → account settingsから発行
RENDER_SERVICE_ID → プロジェクトをダッシュボードで見た時URLにある、srv-hogehogehoge みたいな値。
name: Check Render Deploy Status
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Check Status
env:
RENDER_API_KEY: ${{ secrets.RENDER_API_KEY }}
RENDER_SERVICE_ID: ${{ secrets.RENDER_SERVICE_ID }}
run: |
# Renderでのデプロイが完了するまで待機。サーバーリソースとアプリの状況によって調整が必要
sleep 120
# RenderのAPIをcurlでGETして、最新のデプロイのstatusを取得。あくまで120秒待った後の最新デプロイを参照するので、github actionsでエラーになる場合はRenderのダッシュボードも確認
DEPLOY_STATUS=$(curl -s -X GET \
-H "Accept: application/json" \
-H "Authorization: Bearer $RENDER_API_KEY" \
https://api.render.com/v1/services/$RENDER_SERVICE_ID/deploys | jq -r '.[0].deploy.status')
# 最新のデプロイのstatusを表示
echo "Deployment status: $DEPLOY_STATUS"
# 最新のデプロイのstatusがliveでない場合はエラーを返す
if [ "$DEPLOY_STATUS" != "live" ]; then
echo "Deployment failed"
exit 1
fi
確認方法
上手く動かなかったので、curlのコマンドを手動でローカルから実行したりして、 中身を見る と解決した。