Skip to main content

Cette version de GitHub Enterprise Server ne sera plus disponible le 2026-08-25. Les versions abandonnées ne sont pas prises en charge. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités dans GitHub Enterprise Server, consultez Overview du processus de mise à niveau. Pour obtenir de l’aide sur la mise à niveau, GitHub Support Entreprise.

Configuration du cache d’outils sur les exécuteurs auto-hébergés sans accès à Internet

Si vous souhaitez utiliser les actions actions/setup incluses sur les exécuteurs autohébergés sans accès à Internet, vous devez d’abord remplir le cache d’outils de l’exécuteur pour vos workflows.

Remarque

Les exécuteurs hébergés sur GitHub Enterprise Server ne sont pas pris en charge sur GitHub.

À propos des actions de configuration intégrées et du cache des outils d'exécution

GitHub Actions sur GitHub Enterprise Server est conçu pour fonctionner dans des environnements n’ayant pas un accès à Internet complet. Par défaut, les workflows ne peuvent pas utiliser les actions de GitHub.com et de GitHub Marketplace.

La plupart des actions officielles créées par GitHub sont automatiquement incluses avec GitHub Enterprise Server. Cependant, les exécuteurs auto-hébergés sans accès à Internet ont besoin d’être configurés pour pouvoir utiliser les actions actions/setup-LANGUAGE incluses, telles que setup-node.

Les actions actions/setup-LANGUAGE ont normalement besoin d’un accès à Internet pour télécharger les binaires d’environnement nécessaires dans le cache d’outils d’exécuteur. Les exécuteurs auto-hébergés sans accès à Internet ne pouvant pas télécharger les binaires, vous devez remplir le cache d’outils d’exécuteur manuellement.

Vous pouvez alimenter le cache d’outils du runner en exécutant un workflow GitHub Actions sur GitHub.com qui téléverse le cache d’outils d’un runner hébergé sur GitHub en tant qu’artefact, que vous pouvez ensuite transférer et extraire sur votre runner auto-hébergé sans connexion à Internet.

Remarque

Vous ne pouvez utiliser le cache d’outils d’un runner hébergé sur GitHub que pour un runner auto-hébergé disposant du même système d’exploitation et de la même architecture. Par exemple, si vous utilisez un ubuntu-22.04GitHubexécuteur hébergé pour générer un cache d’outils, votre exécuteur auto-hébergé doit être un ordinateur Ubuntu 22.04 64 bits. Pour plus d’informations sur les runners hébergés sur GitHub, consultez Référence des exécuteurs hébergés par GitHub.

Prérequis

  • Identifiez les environnements de développement dont auront besoin vos exécuteurs auto-hébergés. L’exemple suivant montre comment remplir un cache d’outils pour l’action setup-node, en utilisant Node.js versions 14 et 16.
  • Accès à un référentiel sur GitHub.com lequel vous pouvez utiliser pour exécuter un flux de travail.
  • Accédez au système de fichiers de votre exécuteur auto-hébergé pour remplir le dossier du cache d’outils.

Remplissage du cache d’outils pour un exécuteur auto-hébergé

  1. Sur GitHub.com, accédez à un référentiel que vous pouvez utiliser pour exécuter un GitHub Actions flux de travail.

  2. Créez un nouveau fichier de workflow dans le dossier .github/workflows du référentiel qui téléverse un artefact contenant le cache d’outils du runner hébergé sur GitHub.

    L’exemple suivant illustre un workflow qui charge le cache d’outils pour un environnement Ubuntu 22.04, en utilisant l’action setup-node avec Node.js versions 14 et 16.

    name: Upload Node.js 14 and 16 tool cache
    on: push
    jobs:
      upload_tool_cache:
        runs-on: ubuntu-22.04
        steps:
          - name: Clear any existing tool cache
            run: |
              mv "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old"
              mkdir -p "${{ runner.tool_cache }}"
          - name: Setup Node 14
            uses: actions/setup-node@v4
            with:
              node-version: 14.x
          - name: Setup Node 16
            uses: actions/setup-node@v4
            with:
              node-version: 16.x
          - name: Archive tool cache
            run: |
              cd "${{ runner.tool_cache }}"
              tar -czf tool_cache.tar.gz *
          - name: Upload tool cache artifact
            uses: actions/upload-artifact@v3
            with:
              path: ${{runner.tool_cache}}/tool_cache.tar.gz
    
  3. Téléchargez l’artefact du cache d’outils à partir de l’exécution du workflow. Pour obtenir des instructions sur le téléchargement d’artefacts, consultez « Téléchargement d’artéfacts de workflow ».

  4. Transférez l’artefact du cache d’outils dans votre exécuteur auto-hébergé et extrayez-le dans le répertoire du cache d’outils local. Le répertoire du cache d’outils par défaut est RUNNER_DIR/_work/_tool. Si l’exécuteur n’a pas encore traité de travaux, vous devrez peut-être créer les répertoires _work/_tool.

    Après avoir extrait l’artefact du cache d’outils chargé dans l’exemple précédent, vous devez disposer d’une structure de répertoires sur votre exécuteur auto-hébergé similaire à l’exemple suivant :

    RUNNER_DIR
    ├── ...
    └── _work
        ├── ...
        └── _tool
            └── node
                ├── 14.21.3
                │   └── ...
                └── 16.16.0
                    └── ...
    

Votre exécuteur auto-hébergé sans accès à Internet doit maintenant pouvoir utiliser l’action setup-node. Si vous rencontrez des problèmes, vérifiez que vous avez rempli le cache d’outils approprié pour vos workflows. Par exemple, si vous devez utiliser l’action setup-python, vous devez remplir le cache d’outils avec l’environnement Python que vous souhaitez utiliser.