Intégration Continue et Déploiement continu avec Django - Docker - Travis - Heroku. Partie 2 - Déploiement continu

A présent nous allons nous occuper du déploiement automatique grâce via Heroku. Cet article fait suite à la partie présentant l’intégration continue avec Travis si vous ne l’avez pas lu vous le trouverez ici : Intégration continue avec Docker, Travis Django

Il faut dans un premier temps créer un compte sur le site d’Heroku, nous utiliserons l’offre gratuite. )

Ensuite nous allons devoir télécharger le client en mode console ce lien vous explique comment procéder en fonction de votre configuration logicielle.

Le téléchargement se passe à cette adresse : Téléchargement client Heroku

L’interface ressemblera à l’image ci-dessous, il vous suffira de choisir la version correspondante à votre environement.

Download heroku cli

heroku login

Entrez vos identifiants, si tout s’est bien passé vous êtes logués depuis votre et pourrez effectuer des opérations sur votre compte.

Nous allons installer le plugin heroku qui offre un “container-registry”.

heroku plugins:install heroku-container-registry

Puis nous allons nous connecter sur le container registry

heroku container:login

Nous créons une application Heroku

heroku create

Et nous envoyons la première version de notre code sur le Docker registry d’Heroku

sudo heroku container:push web

A présent nous devons publier notre application.

sudo heroku container:release web

A présent nous avons réussi à faire un envoi manuel, il nous reste plus qu’à intégrer cette opération dans Travis.

Travis propose ‘nativement’ la publication sur Travis : nous trouvons la documentation ici :https://docs.travis-ci.com/user/deployment/heroku/

Comme la documentation il nous suffit de faire la commande suivante :

travis setup heroku

En répondant aux questions qui seront posées vous aurez Travis et Heroku parfaitement intégré..

Detected repository as ludovic-bouguerra/tutorial-travis-docker, is this correct? |yes|
Heroku application name: |tutorial-travis-docker|
Deploy only from ludovic-bouguerra/tutorial-travis-docker? |yes|
Encrypt API key? |yes|

Il faut à présent envoyer les modifications faites par travis au fichier .travis.yml

git add .travis.yml
git commit -m "Travis.yml for heroku"
git push origin master