Continuously deliver your applications to BalenaCloud. Based on Balena CLI Action.
Required: A BalenaCloud API Token, used to authenticate with BalenaCloud. API keys can be created in the user settings for BalenaCloud.
Required: The balena command you would like to run with the action.
Optional: Provide a sub-path to the location for the application being deployed to BalenaCloud. Defaults to the workspace root.
Optional: Provide the URL for the alternative environment.
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 built-in secrets.GITHUB_TOKEN
. GitHub currently does not support pulling from private package registries using the actions token.
name: BalenaCloud Deploy
on:
push:
# Only run workflow for pushes to specific branches
branches:
- main
jobs:
balena-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Balena Deploy
uses: Theia-Scientific/balena-cli@v18
if: success()
with:
balena_api_token: ${{secrets.BALENA_TOKEN}}
balena_command: "push ${{secrets.BALENA_FLEET}} --logs"
balena_url: balena-staging.com
balena_secrets: |
{
'ghcr.io': {
"username": "${{ secrets.BALENA_GITHUB_USER }}",
"password": "${{ secrets.BALENA_GITHUB_TOKEN }}"
}
}