0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Render.comでのデプロイを行うためのGitHub Actions構築方法

Posted at

なぜ、Render.comへのデプロイを行う事になったのか?

HerokuなどのクラウドベースのSaaSが無料サービスを終了したため、代替サービスを探しました。

Render.comは無料でWebサービスをホスティングでき、以下のような特徴があります

  • 月間使用時間: 最大750時間
  • リソースの制限: 1つのインスタンスに対して512MBのメモリと0.5vCPUが提供される

無料で使用できる範囲としては非常に良心的なサービスだと感じました。また、将来的に数百~数千の同時接続が発生する可能性はありますが、今回使用するPythonのFlaskアプリケーションはメモリ消費が少ないため、Render.comを選びました。

自作ワークフローの作成と既存Actionsの組み合わせ

今回は、Githubでのマーケットプレイス検索で「Render Deploy」としました。先人たちが作ってくれたActionがあったのですが何かと機能が満足するようなものがなかったので、色々調べていると...

この方が作成した、シンプルかつオプション設定が出来るのを見つけたので使用する事にしました。

Render.comへのデプロイを行うActionのワークフローについて

name: Render Deploy

on:
  push:
  pull_request:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      # コードのチェックアウト
      - name: Checkout code
        uses: actions/checkout@v3

      # Dockerイメージのビルド
      - name: Build Docker image
        run: |
          docker build -t inoue/my_flask_hp:latest .

      # Renderへのデプロイ
      - uses: ttskch/render-deploy@v1.0.0
        with:
          api-key: ${{ secrets.RENDER_API_KEY }}
          service-id: ${{ secrets.RENDER_SERVICE_ID }}
          interval: 20
          timeout: 300 

このようなワークフローにしました。

  • on: pushおよびpull requestでトリガーされます
  • jobs: 最新のUbuntuを使用してコードのチェックアウトを行い、Dockerイメージをビルドし、Renderへデプロイします
  • uses: 先述したttskch/render-deploy Actionを使用しています

api-keyservice-idには、GitHubリポジトリ内のActions secrets and variablesに設定したシークレット変数を使用しています。これらのシークレット変数は、コード上で直接参照されないようにしつつ、同じ名前でリポジトリに設定する必要があります。

必須パラメーターは、

  • api-key Render.comのAPIキー
  • service-id デプロイ対象のサービスのサービスID

これらは、Render.comのAPIを使用してデプロイを実行するために必須となります。

最後に

今回は、Render.comでのデプロイを行うためにGitHub Actionsを構築する方法を紹介しました。シンプルかつ機能的なActionを利用して、効率的なデプロイ環境を実現できたと感じています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?