GitHub Action
Balena CLI (Nebra fork)
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.
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 application being deployed to BalenaCloud. Defaults to the workspace root.
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.
Optional: Redirects deployment to an openBalena instance instead of Balena Cloud. Should be a URL in the format cloud.openbalena.com
.
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@v19.6.0
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 }}"
}
}