Signed-off-by: Gabriel Dantas <gabriel.dantas98@outlook.com.br>
1.9 KiB
id, title, sidebar_label, description
| id | title | sidebar_label | description |
|---|---|---|---|
| heroku | Deploying with Heroku | Heroku | How to deploy Backstage to Heroku |
Heroku is a Platform as a Service (PaaS) designed to handle application deployment in a hands-off way. Heroku supports container deployment of Docker images, a natural fit for Backstage.
Configuring the CLI
First, install the heroku-cli and login:
$ heroku login
If you have not yet created a project through the Heroku interface, you can create it through the CLI.
$ heroku create <your-app>
You might also need to set your Heroku app's stack to container:
$ heroku stack:set container -a <your-app>
Configuring your app-config.yaml:
app:
# Should be the same as backend.baseUrl when using the `app-backend` plugin
baseUrl: https://<your-app>.herokuapp.com
backend:
baseUrl: https://<your-app>.herokuapp.com
listen:
port:
$env: PORT
# The $PORT environment variable is a feature of Heroku
# https://devcenter.heroku.com/articles/dynos#web-dynos
Make sure your file is being copied into your container in the
Dockerfile.
Before building the Docker image, run the backstage host build commands. They must be run whenever you are going to publish a new image.
Heroku runs a container registry on registry.heroku.com. To push Backstage
Docker images, log in to the container registry also:
$ heroku container:login
Push and deploy a Docker image
Now we can push a Backstage Docker image to Heroku's container
registry and release it to the web worker:
$ docker image build . -f packages/backend/Dockerfile --tag registry.heroku.com/<your-app>/web
$ docker push registry.heroku.com/<your-app>/web
$ heroku container:release web -a <your-app>
Now you should have Backstage up and running! 🎉