🌤️ IDX AND CLOUD WORKSTATIONS, TWO GOOGLE TOOLS EMPOWERING CLOUD DEVELOPMENT

Are you familiar with Cloud Development Environments (CDEs)? They have been around for over 20 years and have taken advantage of the rise of the cloud to deploy and establish themselves in the developer’s toolset.

🖥️ Develop on the cloud

For my part, I often develop on cloud environments. I was lucky to come across Gitpod in 2019 and I have been using it everyday since, whether for Zenika projects, personal projects or open source projects.

GIVE YOUR MACBOOK A NEW DEVELOPER LIFE WITH CHROMEOS FLEX & CDES

In 2007, during the last days of my studies (wow, that was a long time ago 😅), I bought my first MacBook. No more gaming PCs, this MacBook was going to be my work computer. After using it to develop and experiment different technologies, tools, and frameworks, I was forced to buy a new one, more powerful, to continue my development and photo and video editing activities.

I kept my first MacBook for smaller and less consuming activities until 2020, but I used it less and less as it became obsolete. After a while, even browsers like Chrome could no longer be updated, reducing more and more my usage until it ended up in a corner of my house

🇬🇧 AUTOMATIC DEPLOYMENT OF YOUR PROJECT DEPENDENCIES UPDATES ON GCP, EFFICIENCY VS. COST?

Updating the dependencies of your project is not an easy task. If you have to do this on each side project you have, You’re gonna need a lot of caffeine! 💪.

More seriously, this can take a lot of time especially if you have a lot of components in your scope (side projects, open source projects or for the applications of your company).

This month, I gave a talk with my Zenika colleague Lise at the DevoxxFR conference about Renovate and Dependabot, two great tools to help you automatize and upgrade your dependencies.

✨ DISCOVERING GITLAB DUO 🤖

✨ Artificial Intelligence

Artificial Intelligence (AI) is everywhere: in your email, translation, social networks, streaming, IOT, image generators and for some months, in development tools.

Some people, especially those unfamiliar with software development, might fear that AI will replace developers’ jobs. True? Perhaps, but not anytime soon. This debate will not be part of this blog post.

I prefer asking myself why not use AI to help us to accelerate software development?

🇬🇧 GITPOD CLI CHEATSHEET

Gitpod offers us a Command Lines Interface (CLI) to manage our workspaces. Documentation is available here and I created this cheatsheet to summarize it.

Gitpod CLI Cheatsheet

If you discover Gitpod, I created this first Cheatsheet to explain you what it is : Gitpod Cheatsheet

🎄 2023 IS OVER ...

Une nouvelle année se termine. 2023 fut pour moi l’occasion de commencer une nouvelle mission chez un de nos clients dans le domaine bancaire, mais pas seulement 😁

Une nouvelle mission

Rien de mieux que de commencer une nouvelle année en démarrant une nouvelle mission : un rôle de Tech Lead transverse sur plusieurs équipes (8 😅). Un sacré challenge ! Entre l’aspect technique, organisationnel et fonctionnel, l’activité ne manque pas et c’est tant mieux ! Accompagné de Gabriel (jusqu’en juillet) et de Lise de Zenika Nantes, nous essayons de répondre à toutes les attentes des équipes pour améliorer le quotidien, les pratiques tout en amenant de nouvelles choses.

🇬🇧 GITLAB 💚 KUBERNETES - ACT 2

GitLab 💚 Kubernetes : act 2

GitLab likes Kubernetes. This is a long story between these two tools. GitLab has been working to integrate Kubernetes into its platform, enabling you to interact with it without leaving the DevOps platform.

I don’t know if you have already seen or read my old blog post https://about.gitlab.com/blog/2022/06/08/configuring-your-cluster-with-kubernetes-integration/ but things have changed.

The certificate integration is an old story, we will never talk about it again. The agent is in constant evolution and we can find new features and fixes in each release of GitLab. More secure, more performant, it’s constantly evolving.

🇬🇧 🦊 GITLAB - DEFINE AND WRITE JOBS’ SPECIFICATIONS

The “specs” attribute?

The “specs” attribute has been introduced in GitLab CI since the release 15.11 of GitLab (as mentioned in this blog post).

This attribute allows you to invalidate CI when one field typed as “important” is missing.

When should I use the specs attribute?

To illustrate one benefit of using this attribute, let me explain with an example. This simple command allows you to deploy a Cloud Run service based on a Docker image called my-image.

🇬🇧 GITLAB - DEFINE AND WRITE JOBS’ SPECIFICATIONS

The “specs” attribute?

The “specs” attribute has been introduced in GitLab CI since the release 15.11 of GitLab (as mentioned in this blog post).

This attribute allows you to invalidate CI when one field typed as “important” is missing.

When should I use the specs attribute?

To illustrate one benefit of using this attribute, let me explain with an example. This simple command allows you to deploy a Cloud Run service based on a Docker image called my-image.

🇬🇧 K6, A LIBRARY THAT WANTS TO BREAK YOUR APPLICATIONS

k6 is an open source tool created by Grafana Labs that allows you to easily execute performance tests written in Javascript.

Installed with apt, dnf, brew, choco or Docker, k6 is available for every type of system or configuration.

My first test

The first step consists of creating a Javascript file, for example _my-first-test.js_. This will contain a function querying the HTTP service you want to test. For example :

export default function () {
  http.get('https://test.k6.io');
  sleep(1);
}

This test can be executed using this command: _k6 run my-first-test.js_. It generates a report in your terminal with some default metrics.

🇬🇧 CLOUD SEED - DEPLOY FASTER WITH GITLAB 🚀

Were you at the Cloud Next in October? This big annual Google event where a lot of new features around Google and its cloud platform GCP are announced. This year, there was one linked to GitLab : Cloud Seed.

⛅ 🌱Cloud Seed ?

What is Cloud Seed? This is a new, open source project launched by GitLab Incubation at the end of 2021 and lead by by Sri Rangan.

The objective of Cloud Seed is very simple. It’s to accelerate deployment of your application from GitLab to Google Cloud Platform. This project was opened first for beta testers, we were less than 100 people to try out this project and give some feedback.

🇬🇧 A NEW GITPOD TEMPLATE FOR GOOGLE CLOUD

📚 My projects on Google Cloud Platform

Some of my projects are deployed on Google Cloud Platform. Mainly in Java, I deployed a lot of functions on Cloud function. This service is so useful for quickly deploying a short function in the cloud. Sometimes I also deploy applications with App engine, it scans your application, detects the language and deploys it without any configuration. Handy for deploying a component without creating and configuring any Docker file. Since 2019, another service has been created, its Cloud Run. This serverless platform allows you to deploy containers easily. Before 2022, I only used it for one test.

DÉVELOPPEURS, FAITES EXPLOSER VOS APIS 🧨

Cet article fait suite à une présentation faite aux Human Talks en septembre 2022. Les slides sont disponibles ici.

Pendant ma mission chez RCA en 2021/2022, j’ai intégré une équipe travaillant sur des API publiques mises à disposition derrière un API Manager, Gravitee. Cette plateforme permet, entre autres, de contrôler et de sécuriser nos APIs. Par exemple, le “rate limit” consiste à limiter le nombre d’appels à une API dans un intervalle de temps donné.

🇬🇧 GITPOD CHEATSHEET

Are you familiar with Gitpod? I offer you a Cheatsheet to discover this awesome tool 🤩

GitPod Cheatsheet

🇬🇧 CREATE AND CONFIGURE YOUR OWN GITLAB RUNNER AUTOMATICALLY ON GITPOD

In this blog post, I will explain why and how I installed a GitLab Runner on a Gitpod workspace 😃

🔎 GitLab & Gitpod

I use GitLab all the time for my personal projects. I can save my code, get history and automate tasks like building or deploying my applications with GitLabCI. If this is your first time hearing about GitLab or GitLabCI, you can discover it by reading 📖 my series of Cheatsheets 😀.

COMMENT JE SUIS ARRIVÉ À DÉVELOPPER EN JAVA SUR LE CLOUD GRÂCE À GITPOD

Les IDE Cloud

Depuis plusieurs années les IDE Cloud font parler d’eux. La première fois que j’ai entendu ce terme et assisté à une démonstration, c’était pour Eclipse CHE, outil créé en 2014 par les équipes Codenvy. Cette démonstration était impressionnante mais de part mes activités du moment, je ne m’y suis pas intéressé davantage. L’utilisation d’un outil annexe pour modifier mes projets GitLab ou GitHub n’a peut-être pas aidé.

L’intégration de Gitpod

Lors de la consultation de projets hébergés sur GitLab, j’ai aperçu dans l’été 2021 un nouveau bouton “Gitpod” apparaître à côté de celui permettant d’ouvrir le Web IDE de GitLab. C’est à partir de ce moment que j’ai pu découvrir et tester une première fois cet outil. Une très bonne première impression !

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.