Skip to main content

7 posts tagged with "GitHub"

View All Tags

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.

Architecture complète

· 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

Runner GitHub Self-Hosted

· 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.

Actions Composites

· 5 min read

Exemple de création et d'utilisation d'une action GitHub

Voici un exemple de création et d'utilisation d'une action GitHub pour automatiser le déploiement d'une application Node.js.

  1. Créez un fichier action.yml dans le répertoire .github/actions/deploy de votre dépôt avec le contenu suivant :
name: 'Deploy Node.js App'
description: 'Deploy a Node.js application to a remote server'
inputs:
server:
description: 'The remote server to deploy to'
required: true
username:
description: 'The username to use for the deployment'
required: true
password:
description: 'The password to use for the deployment'
required: true
runs:
using: 'composite'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: npm install
- name: Build application
run: npm run build
- name: Deploy application
run: |
sshpass -p ${{ inputs.password }} ssh ${{ inputs.username }}@${{ inputs.server }} 'mkdir -p /var/www/myapp'
sshpass -p ${{ inputs.password }} scp -r ./build/* ${{ inputs.username }}@${{ inputs.server }}:/var/www/myapp
  1. Créez un fichier deploy.yml dans le répertoire .github/workflows de votre dépôt avec le contenu suivant :
name: Deploy Node.js App

on:
push:
branches:
- main

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy application
uses: ./.github/actions/deploy
with:
server: ${{ secrets.DEPLOY_SERVER }}
username: ${{ secrets.DEPLOY_USERNAME }}
password: ${{ secrets.DEPLOY_PASSWORD }}

Dans cet exemple, l'action Deploy Node.js App est utilisée pour déployer une application Node.js sur un serveur distant. L'action est déclenchée à chaque fois qu'un push est effectué sur la branche main. Les informations de déploiement (serveur, nom d'utilisateur et mot de passe) sont stockées dans les secrets du dépôt pour des raisons de sécurité.

Les actions GitHub permettent d'automatiser, personnaliser et exécuter un flux de travail directement depuis votre dépôt. Avec les actions GitHub, il est possible de créer des tâches personnalisées pour automatiser un flux de travail, partager et découvrir des actions pour effectuer des tâches spécifiques.

Workflows

· 5 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.

Introduction à 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.