AIイノベーションズ ブログ

【Railway】GitHub Actions Post-Deploy

最終更新日:
阿部隼也
阿部 隼也
AIイノベーションズ 代表取締役社長 | x.com/ai_abe_shunya
リアルタイムアンケートツール: LiveQ

お悩み相談AIチャット: AI相談.com

Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)

GitHub Actions Post-Deploy

Railwayでのデプロイが成功した後に、データベースのマイグレーションやキャッシュのクリアなど、追加のタスクを実行したい場合があります。このチュートリアルでは、GitHub Actionsを使用して、デプロイ後のフックを設定する方法を説明します。

The Action

Railwayは、デプロイメントが完了したときにdeploymentイベントをディスパッチする公式GitHub Actionを提供しています。このアクションをワークフローで利用して、デプロイ後のステップを自動化できます。

以下は、Railwayへのデプロイが成功した後に、データベースのマイグレーションを実行するワークフローの例です。

name: Post-Deploy Migration
 
on:
  deployment_status:
    types: [success]
 
jobs:
  migrate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: railwayapp/action@v1
        with:
          railway_token: ${{ secrets.RAILWAY_TOKEN }}
          run: railway run npm run db:migrate

このワークフローでは、

  • on: deployment_statusで、Railwayのデプロイメントステータスの変更をトリガーとしています。
  • types: [success]で、デプロイが成功した場合にのみジョブが実行されるようにフィルタリングしています。
  • railwayapp/action@v1を使用して、Railway CLIコマンドを実行しています。
  • railway_tokenには、GitHubリポジトリのシークレットに保存されたRailwayのAPIトークンを渡しています。
  • run: railway run npm run db:migrateで、railway runコマンドを使用して、Railwayの環境変数を注入した上でnpm run db:migrateスクリプトを実行しています。

結論

GitHub ActionsとRailwayのdeploymentイベントを組み合わせることで、デプロイ後のタスクを柔軟かつ強力に自動化できます。これにより、手動での操作を減らし、CI/CDパイプラインの信頼性を向上させることができます。

Railwayはこちら (←このリンクから登録すると20ドル分のクレジットがもらえます)

リアルタイムアンケートツール: LiveQ

お悩み相談AIチャット: AI相談.com