Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#221] [TECH] Utilisation d'un "subdir buildpack" pour séparer le déploiement des 3 applications #221

Merged
merged 6 commits into from Oct 17, 2018

Conversation

jonathanperret
Copy link
Member

@jonathanperret jonathanperret commented Oct 3, 2018

Nous déployons sur Scalingo ce repo sur 3 applications différentes (pix-app-* pour le répertoire mon-pix, pix-api-* pour api et pix-orga-* pour orga).

Actuellement, le déploiement pour les trois applications commence à la racine du repo et on utilise la variable APPLICATION_NAME pour avoir un comportement différent selon l'application à déployer. En particulier on utilise les mêmes buildpacks (nodejs et nginx) pour les trois applications alors que par exemple, l'application api n'a pas besoin de nginx. Et pour les applications utilisant nginx on se retrouve à devoir démarrer nginx depuis un script du package.json (cf. https://github.com/1024pix/pix/blob/31cdf4e/scripts/start_scalingo_nginx.sh) parce que c'est le buildpack nodejs qui a la main.

Cette PR propose d'utiliser un buildpack (créé pour l'occasion, à partir de deux autres au fonctionnement quasiment approprié : https://github.com/1024pix/subdir-buildpack ) qui va permettre de traiter chacun des trois sous-répertoires (api, mon-pix et orga) comme une application déployable isolément. Ainsi chaque application peut utiliser ses propres buildpacks sans interférer avec les autres.

Note :

Pour pouvoir déployer ce changement il faudra mettre à jour quelques variables d'environnement sur les applications Scalingo. Voici les commandes à lancer pour mettre à jour les applications d'intégration :

scalingo env-set -a pix-app-integration BUILDPACK_URL=https://github.com/1024pix/subdir-buildpack
scalingo env-set -a pix-app-integration BUILDPACK_SUBDIR=mon-pix

scalingo env-set -a pix-orga-integration BUILDPACK_URL=https://github.com/1024pix/subdir-buildpack
scalingo env-set -a pix-orga-integration BUILDPACK_SUBDIR=orga

scalingo env-set -a pix-api-integration BUILDPACK_URL=https://github.com/1024pix/subdir-buildpack
scalingo env-set -a pix-api-integration BUILDPACK_SUBDIR=api

Et pour la production :

scalingo env-set -a pix-app-production BUILDPACK_URL=https://github.com/1024pix/subdir-buildpack
scalingo env-set -a pix-app-production BUILDPACK_SUBDIR=mon-pix

scalingo env-set -a pix-orga-production BUILDPACK_URL=https://github.com/1024pix/subdir-buildpack
scalingo env-set -a pix-orga-production BUILDPACK_SUBDIR=orga

scalingo env-set -a pix-api-production BUILDPACK_URL=https://github.com/1024pix/subdir-buildpack
scalingo env-set -a pix-api-production BUILDPACK_SUBDIR=api

@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

1 similar comment
@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

@jonathanperret jonathanperret changed the title WIP: use subdir buildpack Utilisation d'un "subdir buildpack" pour séparer le déploiement des 3 applications Oct 10, 2018
@jonathanperret jonathanperret force-pushed the subdir-buildpack branch 2 times, most recently from dad1d9e to 31fe2e1 Compare October 10, 2018 12:52
@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

1 similar comment
@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

@jonathanperret jonathanperret changed the title Utilisation d'un "subdir buildpack" pour séparer le déploiement des 3 applications [#221] [TECH] Utilisation d'un "subdir buildpack" pour séparer le déploiement des 3 applications Oct 10, 2018
@@ -0,0 +1,52 @@
#!/bin/bash -e
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je ne comprends pas l'usage de ce fichier. C'est que pour les tests ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oui, c’est un script qu’on peut lancer en local (à condition d’avoir Docker) pour tester le déploiement.

Copy link
Contributor

@sroccaserra sroccaserra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

@jonathanperret
Copy link
Member Author

Pour info, j'ai remanié le subdir-buildpack pour simplifier la configuration nécessaire.

@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

The following commands need to be run (adjusting the app names) to adjust
the Scalingo environment variables to deploy this correctly:

    scalingo env-set -a pix-app-integration BUILDPACK_URL=https://github.com/1024pix/subdir-buildpack
    scalingo env-set -a pix-app-integration BUILDPACK_SUBDIR=mon-pix

    scalingo env-set -a pix-orga-integration BUILDPACK_URL=https://github.com/1024pix/subdir-buildpack
    scalingo env-set -a pix-orga-integration BUILDPACK_SUBDIR=orga

    scalingo env-set -a pix-api-integration BUILDPACK_URL=https://github.com/1024pix/subdir-buildpack
    scalingo env-set -a pix-api-integration BUILDPACK_SUBDIR=api
@pix-service
Copy link
Contributor

I'm deploying this PR to these urls:

Please check it out

@jonathanperret jonathanperret merged commit e25b343 into dev Oct 17, 2018
@jonathanperret jonathanperret deleted the subdir-buildpack branch October 17, 2018 15:15
@jbuget jbuget added this to the 2.6.0 milestone Oct 17, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants