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@v20.1.5
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 }}"
}
}