Automate Fly.io app deployment
This action wraps the Fly.io CLI. Use it to deploy or manage your Fly.io application via Github Actions events.
Usage for Deployment
For production deployments, pin flyctl to a specific version to avoid unexpected behavior in edge releases.
name: Deploy to Fly
on: [push]
jobs:
deploy:
name: Deploy proxy
runs-on: ubuntu-latest
steps:
# This step checks out a copy of your repository.
- uses: actions/checkout@v2
- uses: superfly/flyctl-actions/setup-flyctl@master
- run: flyctl deploy --remote-only
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
flyctl
:
Pin to a specific version of - uses: superfly/flyctl-actions/setup-flyctl@master
with:
version: 0.0.462
Running one-off scripts
name: Run on Fly
on: [push]
jobs:
deploy:
name: Run script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: superfly/flyctl-actions/setup-flyctl@master
- run: "flyctl ssh console --command 'sh ./myscript.sh'"
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
See the flyctl GitHub project for more information on using flyctl
.
Secrets
FLY_API_TOKEN
- Required. The token to use for authentication. You can find a token by running flyctl auth token
or going to your user settings on fly.io.
setup-flyctl
action
Using the This documentation only covers usage of the setup-flyctl
action. The main action in this repository runs more slowly inside Docker, so is not recommended. It's been kept in place since many CI pipelines are still using it.