Python: Configure the GitHub Actions workflow
This documentation is part of the Deploy with GitHub Actions guide. View the full guide here: How to deploy your Python code using GitHub Actions.
👋 Welcome to the Stackhero documentation!
Stackhero provides a ready-to-use Python cloud solution designed to streamline your deployment process:
- Deploy your application to production in seconds with a simple
git push.- Use your own domain name, with automatic HTTPS certificate configuration for secure connections handled for you.
- Rely on automatic backups, one-click updates, and predictable pricing, so you can focus on your code, not infrastructure management.
- Benefit from strong performance and security on a private, dedicated infrastructure. Your environment is isolated and protected.
Save time and simplify your workflow: you can have your code running with Stackhero's Python cloud hosting in just 5 minutes.
In your Git repository, create a directory called .github/workflows if it does not already exist. Then, add a file named deploy-to-stackhero.yml inside it.
# File: .github/workflows/deploy-to-stackhero.yml
name: Deploy to Stackhero
run-name: Deploy branch "${{ github.ref_name }}" to Stackhero
on:
push:
# List of branches that will trigger the deploy action following a git push.
# Do not forget to create an environment corresponding to the branch name in GitHub (in "Settings"/"Environments").
# Then add the corresponding secret "STACKHERO_SSH_PRIVATE_KEY" and variable "STACKHERO_ENDPOINT" in this environment.
branches: [ "production", "staging" ]
jobs:
Deploy:
environment: ${{ github.ref_name }}
runs-on: ubuntu-latest
steps:
- uses: stackhero-io/github-actions-deploy-to-stackhero@v1
with:
# The secret "STACKHERO_SSH_PRIVATE_KEY" and the variable "STACKHERO_ENDPOINT" should be defined in the corresponding branch environment on GitHub under "Settings"/"Environments".
ssh_private_key: ${{ secrets.STACKHERO_SSH_PRIVATE_KEY }}
endpoint: ${{ vars.STACKHERO_ENDPOINT }}
Once you have added the workflow file, you can commit your changes:
git add -A .
git commit -m "Add GitHub Actions to deploy to Stackhero"
You can create a production branch with:
git checkout -b production
And push your changes to GitHub:
git push --set-upstream origin production
This will push your code to the production branch on GitHub and trigger GitHub Actions, deploying your code to your Stackhero instance.
To check your deployment status, just visit your GitHub project page and click on Actions.
GitHub Actions that deployed to production
That is it. You now have automatic deployments to production using GitHub Actions.