Skip to main content

Docker

· 6 min read

Docker est de plus en plus populaire car il résout des problèmes courants dans le développement logiciel, en particulier ceux liés à la configuration de l'environnement et à la compatibilité. Les applications modernes utilisent souvent une combinaison de différentes technologies, chacune avec des dépendances de version spécifiques. Ces applications doivent fonctionner de manière cohérente dans divers environnements (développement, test, production), qui peuvent différer en termes de système d'exploitation, de version et de matériel. Sans Docker, chaque environnement doit être configuré avec les versions correctes des services, ce qui entraîne des problèmes de compatibilité et des configurations complexes.

Registry : GitHub GHCR

· 5 min read

GitHub Container Registry (GHCR) est un service d'hébergement de packages logiciels proposé par GitHub, permettant aux utilisateurs de stocker des packages privés ou publics et de les utiliser comme dépendances dans leurs projets. Compatible avec plusieurs langages de programmation, GitHub Packages propose des registres pour des gestionnaires de packages tels que npm, RubyGems, Maven, Gradle, Docker, et NuGet. L'authentification sur GitHub Packages se fait exclusivement via un "personal access token (classic)". Les utilisateurs doivent disposer de ce token pour effectuer des opérations telles que la publication, l'installation et la suppression de packages, qu'ils soient publics, privés ou internes. Pour les packages privés, GitHub Packages applique des limites de stockage et de transfert de données en fonction du plan du compte. La gestion des packages peut être réalisée à travers l'interface utilisateur GitHub ou via l'API REST. Des webhooks peuvent également être configurés pour suivre des événements liés aux packages, comme la publication ou la mise à jour.

GitHub Actions : action réutilisable

· 5 min read

GitHub Actions permet de créer des actions réutilisables, qui sont des blocs de code personnalisés pouvant être utilisés dans plusieurs workflows. Ces actions peuvent être partagées au sein d'une organisation ou rendues publiques pour que d'autres utilisateurs puissent les utiliser. Les actions réutilisables sont particulièrement utiles pour automatiser des tâches courantes, telles que le déploiement, les tests ou la gestion des secrets, tout en assurant une cohérence et une maintenabilité à travers différents projets.

GitHub Actions : architecture

· 3 min read

L'objectif est de créer une architecture CI/CD complète pour un projet de développement adressant une technologie (par exemple ROS). Cette architecture doit être :

  • facilement réutilisable dans d'autres projets
  • éviter la duplication de code
  • maintenable et évolutive aisément
  • applicable à d'autres projets

GitHub Actions

· 4 min read

Dans le monde du développement logiciel, l'automatisation est devenue une nécessité pour améliorer l'efficacité et réduire les erreurs humaines. GitHub Actions est une plateforme puissante qui permet d'automatiser les workflows de développement et de déploiement. Dans cet article, nous allons explorer les concepts de base de GitHub Actions, ses avantages, et fournir des exemples concrets pour vous aider à démarrer.

GitHub Actions : ARC

· 4 min read

Actions Runner Controller (ARC) est un opérateur de Kubernetes qui orchestre et gère les runners auto-hébergés pour les actions GitHub.

GitHub Actions : Self-Host Runner

· 4 min read

Un runner est une machine virtuelle ou physique qui exécute des jobs dans un workflow. Les runners peuvent être hébergés par GitHub ou auto-hébergés. Les runners hébergés par GitHub sont exécutés dans un environnement de cloud partagé et sont gérés par GitHub et peuvent entrainer des surcouts. Les runners auto-hébergés sont exécutés sur une machine que vous possédez et gérez.

GitHub Actions : Workflow

· 6 min read

Exemple d'intégration des actions GitHub dans les workflows

Voici un exemple d'intégration des actions GitHub dans un workflow pour automatiser le déploiement d'une application Node.js.

Un workflow est l'élément central de GitHub Actions. Il s'agit d'un processus automatisé composé de jobs et de steps qui s'exécutent sur des runners. Les workflows sont déclenchés par des événements, tels que des pushs, des pull requests, des forks, etc.

Docker Compose

· 11 min read

Docker Compose est un outil puissant qui permet de définir et de gérer des applications multi-conteneurs Docker. Il utilise un fichier YAML pour configurer les services de l'application. Ensuite, avec une seule commande, vous pouvez créer et démarrer tous les services à partir de votre configuration.

Dokku

· 5 min read

Une alternative PAAS open source à Heroku https://dokku.com/ Dokku est une plateforme open-source permettant le déploiement, la gestion et la mise à l'échelle des applications sur un serveur. Inspiré par Heroku, il utilise une approche similaire pour le déploiement d'applications : le code se déploie en effectuant un "push" vers un dépôt Git sur le serveur. À la différence de Heroku, Dokku offre un contrôle total sur l'environnement de déploiement. Ainsi, l'infrastructure, le système d'exploitation et les services (tels que les bases de données ou les files d'attente de tâches) peuvent être personnalisés selon les besoins. Dokku s'appuie sur Docker pour gérer les applications dans des conteneurs isolés, ce qui simplifie la gestion des applications et de leurs dépendances. Chaque "push" d'une application à Dokku crée un nouveau conteneur Docker.