Skip to content

Latest commit

 

History

History
61 lines (44 loc) · 2.26 KB

README.md

File metadata and controls

61 lines (44 loc) · 2.26 KB

Balena CLI

Continuously deliver your applications to balenaCloud using the official balena CLI tool.

Based on Balena Push from Joe Mainwaring and balena CLI action from Brint Kriebel.

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.

balena_url

Optional: Redirects deployment to an openBalena instance instead of Balena Cloud. Should be a URL in the format cloud.openbalena.com.

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@v3
      - name: Balena Deploy
        uses: NebraLtd/balena-cli-action@v18.2.2
        if: success()
        with:
          balena_url: cloud.openbalena.com
          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 }}"
              }
            }