Last updated 03 March 2017
Table of Contents
The Cedar-14 stack is the current stack on Heroku. It features updated system dependencies and runs on a recent version of Ubuntu Linux.
The legacy Cedar-10 stack has been deprecated and reached its end-of-life on November 4, 2015. Applications may continue running, however you will not be able to push to your application without upgrading to Cedar-14 first.
Create Cedar-14 app
Before upgrading an existing application to Cedar-14, you should test the upgrade on a Cedar-14 staging app that is not getting production traffic. You can create a staging app to use for testing, let’s call the git remote
heroku-cedar-14 and the app
$ heroku create --remote heroku-cedar-14 --stack cedar-14 <your cedar-14 app name> Creating your-cedar-14-app... done, stack is cedar-14 http://your-cedar-14-app.herokuapp.com/ | email@example.com:my-app.git Git remote heroku-cedar-14 added
Also add any add-ons (with
heroku addons:create) and config (with
heroku config:set) to the app that’s required for your code to run.
Deploy to your Cedar-14 staging app
Deploying to the new Cedar-14 staging app will not affect your currently running app on Cedar. It will merely stage the source code in a separate app and provide the opportunity to verify functionality.
Push the source to the
heroku-cedar-14 remote repository.
$ git push heroku-cedar-14 master Counting objects: 67, done. ... -----> Ruby app detected -----> Compiling Ruby/Rack ...
Once the app is deployed, you should verify that it is working correctly on the Cedar-14 stack, and if not, make any required changes.
Upgrading the production app to Cedar-14
Once you have verified that your source code works correctly on the Cedar-14 staging app, you are ready to update the production app from Cedar to Cedar-14.
First, set stack on the production app to Cedar-14:
$ heroku stack:set cedar-14 -a <app name> stack set, next release on production-app will use cedar-14 Run `git push heroku master` to create a new release on cedar-14
This does not immediately change the stack of the app, but the next release created will be deployed on Cedar-14. If you have no changes to your source pending release, you can create an empty commit with no changes to ensure a new build:
$ git commit --allow-empty -m "Upgrading to Cedar-14" [master 973c3f7] Upgrading to Cedar-14
To create the new release, push to your production app:
$ git push heroku master
Your production app is now running on Cedar-14, and you should verify that everything is working as expected.
The migration is now complete.
Cedar-14 Docker image
Cedar-14 is available as a Docker image.
Use the following command in your
Dockerfile to use Cedar-14 as your base image: