/balena-cli-action

Continuously deploy your application to BalenaCloud

Primary LanguageDockerfileMIT LicenseMIT

Balena CLI

Continuously deliver your applications to BalenaCloud.

Based on Balena Push from Joe Mainwaring.

Inputs

balena_api_token

Required: A BalenaCloud API Token, used to authenticate with BalenaCloud. API keys can be created in the user settings for BalenaCloud.

balena_command

Required: The balena command you would like to run with the action.

application_path

Optional: Provide a sub-path to the location for application being deployed to BalenaCloud. Defaults to the workspace root.

balena_secrets

Optional: Provide the contents of a balena secrets.json file for authenticating against private registries.

Note: If using private GitHub Packages, you must provide a Personal Access Token instead of using the builtin secrets.GITHUB_TOKEN. GitHub currently does not support pulling from private package registries using the actions token.

Workflow Example

name: BalenaCloud Deploy

on:
  push:
    # Only run workflow for pushes to specific branches
    branches:
      - master

jobs:
  balena-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Balena Deploy
        uses: nebraltd/balena-cli-action@v19.9.0
        if: success()
        with:
          balena_api_token: ${{secrets.BALENA_API_TOKEN}}
          balena_command: "deploy my-awesome-app --logs"
          balena_secrets: |
            {
              "docker.pkg.github.com": {
                "username": "${{ secrets.MY_GITHUB_USER }}",
                "password": "${{ secrets.MY_GITHUB_TOKEN }}"
              }
            }