Configuration locale de Kubernetes avec minikube sur MacOS

Minikube est un outil idéal pour configuer localement Kubernetes afin de tester et d’expérimenter vos déploiements. Dans ce guide, je vais essayer de vous aider à le mettre en marche sur votre machine locale, à donner quelques conseils sur où et comment effectuer certaines tâches et à le rendre aussi capable (je suppose quand vous utilisez k8s que vous veulent apprendre et utiliser Helm, etcd, istio, etc.). Installation de minikube Minikube fonctionne avec une machine virtuelle....

23 mai 2019 Â· 4 min Â· Ludovic Wyffels

Bash - Vérifier les variables d'environnement sont définies ou s'il existe des fichiers/références

La configuration, le CI et les flux de déploiement représente un peu l’ancien script bash. Malgré mon profond intérêt pour les subtilités de Bash (/sarcasme), j’ai continué à chercher des solution aux mêmes situations sur Google et StackOverflow. Pour éviter d’avoir à le refaire moi-même et pour votre plaisir de lecture, les voici. Vérifier si un fichier existe 1if [ ! -f ./pdfgen/pdfgen ]; then 2 echo "Building pdfgen binary" 3 npm run --prefix pdfgen build:linux 4else 5 echo "Pdfgen binary already exists, skipping build" 6fi Vérifier si un lien symbolique existe 1if [ !...

21 mai 2019 Â· 2 min Â· Ludovic Wyffels

Mocking des classes ES6 dans les tests unitaires

Cet article passe en revue certains modèles pouvant être utilisés pour tester les classes ES6. Les exemples utiliseront l’auto-mocking du module Jest mais devraient être portables à d’autres bibliothèques de mocking de module (par exemple Proxyquire) avec quelques modifications. Dans cet article, nous avons exploré comment définir des modèles Sequelize en utilisant des classes ES6. Un des avantages d’une telle approche est qu’elle permet des tests unitaires faciles, elle permet d’instancier le modèle sans le bagage de toute Sequelize (et/ou une base de données)....

11 mai 2019 Â· 2 min Â· Ludovic Wyffels

Utilisation des classes ES6 pour les modèles Sequelize 4 ou 5

La spécification ES2015 ou ES6 a introduit la class en JavaScript. Des bibliothèques telles que React sont passées de React.createClass à la class MyComponent extends React.Component, c’est-à-dire qu’ils sont passés de l’utilisation de leur propre constructeur à l’utilisation d’un langage intégré pour transmettre l’intention du programmeur. Pour la couche de persistance d’une application Web Node.js, quelques bases de données me viennent à l’esprit, comme MongoDB (éventuellement associé à mongoose), ou une association de clés-valeurs comme Redis....

10 mai 2019 Â· 4 min Â· Ludovic Wyffels

Sequelize DataTypes: guide pratique

Les DataTypes sont au coeur de la bibliothèque Sequelize. Ceci est un guide pratique et complet pour compenser la documentation officielle clairsemée de Sequelize sur le sujet. Tout d’abord, DataTypes contient à la fois les types et les générateurs pour les valeurs par défaut: NOW , UUIDV1 et UUIDV4 sont des valeurs par défaut spéciales. Les endroits où vous êtes susceptible de rencontrer des DataTypes se trouvent dans la définition du champ de modèle et dans les définitions de migration....

10 mai 2019 Â· 3 min Â· Ludovic Wyffels

Fractionner un commit existant

L’une des principales différences entre git et les autres systèmes de contrôle de version est qu’il permet à l’utilisateur de réécrire l’historique. Pour ce faire, le moyen principal consiste à utiliser git rebase, généralement suivi d’un git push --force pour écraser l’historique du serveur (remote) avec l’historique local. Voici comment diviser les commits existants à l’aide de rebase, reset et commit. Supposons que vous ayez deux fichiers édités dans un commit (A et B) et que vous souhaitiez importer les modifications d’un de ces fichiers (A) dans votre branche actuelle, mais pas celles de l’autre (B)....

8 mai 2019 Â· 2 min Â· Ludovic Wyffels

Changer la date d'un commit

Une des choses les plus grandes et les pires avec git est que vous pouvez réécrire l’histoire. Voici une façon sournoise d’abuser de cela, je ne peux pas penser à une raison légitime de le faire. Comme pour tout, merci StackOverflow pour toutes les options que je peux choisir parmi Fixe la date du dernier commit à la date du jour 1GIT_COMMITTER_DATE="$(date)" git commit --amend --no-edit --date "$(date)" Fixer la date du dernier commit à une date arbitraire 1GIT_COMMITTER_DATE="2019-05-07T21:07:52" git commit --amend --no-edit --date "2019-05-07T21:07:52" 1GIT_COMMITTER_DATE="Mon 20 Aug 2018 20:19:19 BST" git commit --amend --no-edit --date "Mon 20 Aug 2018 20:19:19 BST" Définir la date d’une validation arbitraire sur une date arbitraire ou courante Rebaser avant ledit engagement et arrêter pour modification:...

8 mai 2019 Â· 1 min Â· Ludovic Wyffels

Changer d'environnement Node.js

Si vous travaillez sur plus d’un projet à la fois, travaillez beaucoup en open source ou si vous décidez de revenir à un projet que vous avez réalisé il y a un an, il y a de fortes chances pour que vous deviez changer de version de Node.js. Il se peut que quelques dépendances ne fonctionnent que sur une version de Node.js spécifique. Vous pouvez utiliser nvm pour changer vos versions de node....

7 mai 2019 Â· 3 min Â· Ludovic Wyffels