Sample APP Running at https://radiant-ridge-25486.herokuapp.com/
- Write a little Python APP
- Add automated tests
- Push code to GitHub
- Setup Travis CI to continuously tests
- Create a Docker image for the app
- Containerize your web app with docker
- Deploy to Docker Hub
- In Travis Set -Environment Variables -DOCKER_EMAIL -DOCKER_PASS DOCKER_USER
- Push the Docker image to Docker Hub
- Deploy the Docker image to Heroku (Part of Delivery )
heroku login
heroku create
Creating app… done, ⬢ fXXXXNAME
https://XXXNAMEherokuapp.com/ | https://git.heroku.com/fXXXXX.git
heroku plugins:install @heroku-cli/plugin-container-registry
heroku container:login
heroku container:push web
heroku container:release web
To automate the process of deploying each build of master branch of project, is taken care by file ‘deploy_heroku.sh’ in the directory ‘.travis’:
Heroku API key u The Heroku App name Need to be added in Travis
HEROKU_API_KEY
HEROKU_APP_NAME
- Python/Flask
- Travis CI
- Docker/ Docker Hub
- Heroku
- Add Load/Performance Tests.
- Enhance APP to have in memory DB.
- Monitoring.