All Projects → superfly → flyctl-actions

superfly / flyctl-actions

Licence: Apache-2.0 license
GitHub Action that wraps the flyctl

Programming Languages

typescript
32286 projects
shell
77523 projects
Dockerfile
14818 projects
javascript
184084 projects - #8 most used programming language

GitHub Actions for flyctl

This action wraps the flyctl CLI tool to allow deploying and managing fly apps. We recommend using the setup-flyctl action which runs outside of Docker for speed and flexibility.

Usage for deployment

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 }}

To use a specific version of flyctl:

- uses: superfly/flyctl-actions/setup-flyctl@master
  with:
    version: 0.0.308

Run 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.

Using the setup-flyctl action

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].