Closed7
fly.ioにNestアプリをデプロイしてみる
の続き
Herokuは便利だったが、やはりリージョンがusとeuなのは厳しいってことでFly.ioを試すことにした
あとGitHubのフル権限要求してくるのもアレやね。セキュリティ事故あったのに。
要件
- コンテナはできればSaas側に置きたくない
brew install flyctl
GitHub Packages with Container Registryからデプロイしたいので書いた
FLY_API_TOKENを入れてfly cliでデプロイって感じかなぁ
work_flow_dispatchで手動実行にした。--local-onlyでpullしてデプロイする形式にしている
name: deploy to Fly.io
on:
workflow_dispatch:
inputs:
tag:
description: 'container tag'
required: true
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
REGISTORY_NAME: ghcr.io/shuntaka9576
IMAGE_NAME: backend
CACHE_PATH: /tmp/.buildx-cache-backend
permissions:
id-token: write
contents: read
actions: read
packages: read
jobs:
deploy:
name: Deploy app
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: superfly/flyctl-actions/setup-flyctl@master
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- run: |
docker pull ${{ env.REGISTORY_NAME }}/${{ env.IMAGE_NAME }}:${{ inputs.tag }}
flyctl deploy --local-only --image ${{ env.REGISTORY_NAME }}/${{ env.IMAGE_NAME }}:${{ inputs.tag }}
fly.io最高だなー
このスクラップは2023/02/25にクローズされました