COMMENT REMERCIER CES CONTRIBUTEURS SUR GITHUB ?

Fin octobre, j’ai initiĂ© un projet GitHub pour lister les diffĂ©rentes communautĂ©s nantaises. Et les contributions sont rapidement arrivĂ©es đŸ’Ș 🙏 ! Comme dans la plupart des projets open source, le remerciement s’effectue en listant les contributeurs et c’est la moindre des choses que je pouvais faire pour les remercier.

Au lieu de le faire manuellement Ă  chaque contribution et de trouver une reprĂ©sentation graphique sympa, j’ai effectuĂ© quelques recherches et je suis rapidement tombĂ© sur ce robot all-contributor. Il permet de lister les contributeurs dans un fichier, par dĂ©faut le README.md, avec leur identifiant GitHub et leur photo de profil. Le robot affiche Ă©galement le nombre de contributeurs sous la forme d’un compteur.

🇬🇧 10 YEARS OF GITLAB 🩊

The 8th of October of this year is a special day for GitLab. It’s the 10th birthday of the first commit!

For this #10YearsOfGitLab day, I decided to write this blog post about my journey with GitLab, and more specifically the GitLab platform.

The beginning

I have known GitLab for more than 5 years -I don’t remember how many years exactly- but simply as a source code manager. Whether in a personal or professional context, my usage was limited to committing source code and retrieving it. At conferences and in blog posts, I had vaguely heard that continuous integration was directly provided by the platform but I had never looked into it.

QUARKUS 2.0

QUARKUS 2.0 IS HERE! : voici le message de la page d’accueil du site de Quarkus.io et qu’est-ce que ça fait plaisir de voir arriver cette nouvelle release !

Quarkus 2 is here

Une version “majeure” ?

Le mot “release” est souvent associĂ© Ă  la notion de version “majeure” contenant un changement important (aussi appelĂ© “breaking change”). Les utilisateurs les redoutent souvent, se demandant si l’effort Ă  adopter et les tests de non-rĂ©gression seront importants.

INSTALLATION D'UN GITLAB RUNNER SUR UN RASPBERRY PI EN 10 MINUTES

❓ Un runner ?

L’intĂ©gration continue de GitLab, plus connue sous le nom de GitLab CI fonctionne avec des runners qui exĂ©cutent les pipelines que vous dĂ©crivez dans vos projets. Sur gitlab.com, GitLab met Ă  disposition des runners avec cependant une limitation en termes d’utilisation voir ici.

Les runners, dĂ©veloppĂ©s en Go, peuvent ĂȘtre installĂ©s sur n’importe quelle structure que ce soit sur le cloud ou chez vous de façon Ă  avoir totalement la main sur leurs configurations.

COMMENT ORGANISER SON TRAVAIL AVEC GITLAB ?

💡 Comment organiser son travail ?

Vous vous posez souvent cette question autour de votre organisation ? Pour ma part c’est une remise en cause perpĂ©tuelle depuis que j’ai commencĂ© Ă  travailler. Notre mode de fonctionnement Ă  un instant donnĂ© n’est pas forcĂ©ment le mĂȘme Ă  un autre moment. Cela peut dĂ©pendre de plein de choses, de notre rĂŽle qui Ă©volue, de l’équipe avec laquelle on travaille, de votre entreprise, de la volontĂ© de faire des choses en parallĂšle de notre mĂ©tier, de notre vie privĂ©e, etc.

🇬🇧 🩊 GITLAB 13.8 RELEASE

Like each month, GitLab create a new release and this month, it’s the 13.8. And for the first time, i would like to speak about some functionnalities. All the features are detailed in this GitLab blog post.


GitLab CI

In this release, there are many plaisant news features about GitLabCI. You can now edit your pipeline, visualize it and valid it without push your modification, producing a new execution of your pipeline.

UN TECH LEAD ?

Depuis Juin 2016 j’occupe le poste de Tech Lead au sein de la DSI de PĂŽle emploi. Ce rĂŽle, menĂ© sur deux Ă©quipes de dĂ©veloppement depuis septembre 2018, peut amener beaucoup de dĂ©bats sur son utilitĂ© ou bien tout simplement sur le pĂ©rimĂštre de ses activitĂ©s.

Un bref article pour partager ma vision des choses, basĂ©e sur mon expĂ©rience et sur des liens que j’ai trouvĂ©s ou Ă©changes avec d’autres Tech Lead.

🇬🇧 🩊 AN ADVICE FOR GITLABCI : USE PARENT-CHILD PIPELINES!

If you have (or not) writed GitLabCI pipelines, let me speak you about parent-child pipelines. It’s something very simple to understand, and very simple to implement in your (future) project. đŸ„ł


Imagine you have several components on your application (at min one front end, one back end). In my exemple i have two front-end and three back-end. My .gitalb-ci.yml file contains approximately one hundred lines, with tests execution, build, create and push docker images on the GitLab registry. I haven’t implemented yet a deploiement on a cloud or one physical machine.

🇬🇧 DEPLOY AN QUARKUS APPLICATION ON GKE WITH GITLABCI

In this post, i would like to show you how take advantage of the power of Quarkus and GitLab CI to easily deploy a Rest API on a Google Kubernetes Engine cluster. You can find the full post (in French đŸ‡«đŸ‡·) with the Quarkus explain and configuration here.

🚀 Quarkus

If you don’t know Quarkus, this is a previous post to a workshop (in French đŸ‡«đŸ‡·) 🚀 Quarkus.

In this example, i make a simple Quarkus application with the kubernetes extension, which allow to return a 200 HTTP code on this REST resource http://localhost:8080/hello.

🇬🇧 🩊 GITLABCI: EASY BUILD AND DEPLOY AN IMAGE WITH KANIKO

I read differents post about image build and deployment with GitLab CI and i would like want to share one tip : use Kaniko 😁.

To create an image you can use the usual docker command

docker build -t <your image name>

And to push this image, this one :

docker push <your image name>:latest

All built with the docker image, and the dind services :

image: docker:stable
 services:
   - docker:dind

And finally, in your gitlab-ci.yml, you will have this :

DEPLOYER UNE APPLICATION QUARKUS SUR GKE AVEC GITLABCI

Dans cet article, je vais vous montrer comment profiter de la puissance de Quarkus et de GitLab CI pour déployer facilement une API Rest sur un cluster Google Kubernetes Engine.

Quarkus

🚀 Quarkus

Si vous ne connaissez pas Quarkus, voici un lien d’un prĂ©cĂ©dent article vous menant Ă  un atelier 🚀 Quarkus.

Création du projet

Tout d’abord, crĂ©ons un projet Quarkus avec l’extension kubernetes :

mvn io.quarkus:quarkus-maven-plugin:1.5.2.Final:create \
    -DprojectGroupId=fr.jpbaconnais \
    -DprojectArtifactId=deployquarkusongkewithgitlab \
    -DclassName="fr.jpbaconnais.HelloWorldFromQuarkus" \
    -Dextensions="kubernetes, container-image-docker"

Lors du dĂ©ploiement de l’application via un mvn compile quarkus:dev la ressource REST suivante http://localhost:8080/hello renvoie une rĂ©ponse avec un code retour 200.

COMMENCER SIMPLEMENT AVEC GITLABCI 🩊

Tout le monde connait GitLab, et beaucoup de monde connait son outil d’intĂ©gration et dĂ©ploiement continus : GitLabCI 🩊. Avec l’arrivĂ©e d’une application ne possĂ©dant aucun outil de CI/CD dans notre Ă©quipe, nous avons pu manipuler GitLabCI. C’est d’ailleurs le sujet d’une prĂ©sentation sur laquelle nous avons travaillĂ© avec un collĂšgue (Jean-Baptiste Martin pour ne pas le citer 🙂).

C’est cette approche que je vais vous prĂ©senter dans cet article.

LES 11 COMMANDEMENTS POUR RESTER ZEN AVEC UN AGENDA BIEN REMPLI 🗓

Banniere

Les rĂ©unions sont des Ă©vĂšnements rĂ©guliers de notre quotidien. Mais “trop de rĂ©union tue les rĂ©unions” comme on dit souvent, surtout quand on ne respecte pas quelques rĂšgles. Sans cela, les rĂ©unions peuvent littĂ©ralement nous faire pĂ©ter les plombs, gĂ©nĂ©rant une mauvaise ambiance dans les Ă©quipes et un ressenti personnel nĂ©gatif. Cet article est un mĂ©lange de vĂ©cu et d’articles trouvĂ©s sur le net.

Quand on me propose une réunion

J’ai comme premiùre intention de partir en courant et de ne pas y assister.

MES PREMIERS TESTS AVEC QUARKUS 🚀

Lors du Devoxx Paris 2019, j’ai assistĂ© Ă  l’universitĂ© Quarkus faite par Emmanuel Bernard et ClĂ©ment Escoffier. J’avais dĂ©jĂ  suivi de loin l’actualitĂ© de ce nouveau framework Java mais l’universitĂ© m’a bluffĂ©. Cela m’a redonnĂ© envie de remettre mon nez dans du dĂ©veloppement Java !

Quarkus

🚀 Quarkus c’est quoi ? D’aprĂšs Red Hat c’est quelque chose de Supersonic Subatomic Java. Les temps annoncĂ©s sur leur site le montrent bien :

Temps de réponse

REX : ENTAMER UNE MIGRATION KOTLIN DANS UNE DSI JAVA

Cet article est issu d’une prĂ©sentation que j’ai rĂ©alisĂ©e en interne Ă  la DSI de PĂŽle emploi, mais aussi Ă  l’extĂ©rieur, que ce soit au NantesJug en juin et au JugSummerCamp en Septembre. Les slides sont disponibles ici

Cette prĂ©sentation est un retour d’expĂ©rience sur la maniĂšre dont j’ai intĂ©grĂ© Kotlin dans la DSI de PĂŽle emploi, historiquement en Java. Je ne vais pas vous montrer comment rĂ©volutionner une DSI Java mais plutĂŽt la maniĂšre dont j’ai intĂ©grĂ© Kotlin Ă  cĂŽtĂ© du Java pour dĂ©velopper nos applications.

FAIRE DE L'INNOVATION DANS LES ÉQUIPES AGILE, C'EST POSSIBLE !

Introduction

“Faire de l’innovation dans les Ă©quipes agile, c’est possible !” est une prĂ©sentation faite en interne de la DSI de PĂŽle emploi auprĂšs des dĂ©veloppeurs de Nantes, mais aussi auprĂšs des chefs de projet / product owner.

Le support est disponible ici : en attente publication externe

Cela parait Ă©vident mais j’entends souvent des Ă©quipes agiles annoncer qu’elles sont sous l’eau, que leurs sprints sont plus que chargĂ©s et qu’elles n’ont pas de temps de faire autre chose qui sort de leur pĂ©rimĂštre.