Skip to main content

Cette version de GitHub Enterprise Server n'est plus disponible depuis le 2024-03-26. 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, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Synchronisation manuelle des actions à partir de GitHub.com

Pour les utilisateurs qui ont besoin d’accéder aux actions de GitHub.com, vous pouvez synchroniser des actions spécifiques avec votre entreprise.

Remarque : Les exécuteurs hébergés sur GitHub ne sont pas pris en charge sur GitHub Enterprise Server. Vous pouvez voir plus d’informations sur le support futur planifié dans la GitHub public roadmap.

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.

L’approche recommandée d’activation de l’accès aux actions à partir de GitHub.com consiste à activer l’accès automatique à toutes les actions. Pour cela, utilisez GitHub Connect pour intégrer GitHub Enterprise Server à GitHub Enterprise Cloud. Pour plus d’informations, consultez « Activer l’accès automatique aux actions GitHub.com à l’aide de GitHub Connect ».

Toutefois, si vous souhaitez un contrôle plus strict sur les actions autorisées dans votre entreprise, vous pouvez suivre ce guide pour utiliser l’outil open source actions-sync de GitHub pour synchroniser des référentiels d’actions individuels de GitHub.com avec votre entreprise.

À propos de l’outil actions-sync

L’outil actions-sync doit être exécuté sur une machine qui peut accéder à l’API GitHub.com et à l’API de votre instance GitHub Enterprise Server. La machine n’a pas besoin d’être connectée aux deux en même temps.

Si votre machine a accès aux deux systèmes en même temps, vous pouvez effectuer la synchronisation avec une seule commande actions-sync sync. Si vous ne pouvez accéder qu’à un seul système à la fois, vous pouvez utiliser les commandes actions-sync pull et push.

L’outil actions-sync ne peut télécharger que des actions sur GitHub.com stockées dans des référentiels publics.

Remarque : L’outil actions-sync est destiné à être utilisé dans les systèmes où GitHub Connect n’est pas activé. Si vous exécutez l’outil sur un système avec GitHub Connect activé, vous pourriez voir l’erreur The repository <repo_name> has been retired and cannot be reused. Cela indique qu’un workflow a utilisé cette action directement sur GitHub.com et que l’espace de noms est supprimé sur votre instance GitHub Enterprise Server. Pour plus d’informations, consultez « Activer l’accès automatique aux actions GitHub.com à l’aide de GitHub Connect ».

Prérequis

  • Avant d’utiliser l’outil actions-sync, vous devez vous assurer que toutes les organisations de destination existent déjà dans votre entreprise. L’exemple suivant montre comment synchroniser des actions avec une organisation nommée synced-actions. Pour plus d’informations, consultez « Création d’une organisation à partir de zéro ».

  • Vous devez créer un personal access token dans votre entreprise, qui peut créer et écrire sur les dépôts des organisations de destination. Pour plus d’informations, consultez « Gestion de vos jetons d'accès personnels ».

  • Si vous souhaitez synchroniser les actions groupées dans l’organisation actions sur votre instance GitHub Enterprise Server, vous devez être propriétaire de l’organisation actions.

    Remarque : Par défaut, même les administrateurs de site ne sont pas propriétaires de l’organisation groupée actions.

    Les administrateurs de site peuvent utiliser la commande ghe-org-admin-promote dans l’interpréteur de commandes d’administration pour promouvoir un utilisateur comme propriétaire de l’organisation groupée actions. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) » et « Utilitaires de ligne de commande ».

    ghe-org-admin-promote -u USERNAME -o actions
    

Example: Using the actions-sync tool

This example demonstrates using the actions-sync tool to sync an individual action from GitHub.com to an enterprise instance.

Note: This example uses the actions-sync sync command, which requires concurrent access to both the GitHub.com API and your enterprise instance's API from your machine. If you can only access one system at a time, you can use the actions-sync pull and push commands. For more information, see the actions-sync README.

  1. Download and extract the latest actions-sync release for your machine's operating system.

  2. Create a directory to store cache files for the tool.

  3. In your terminal, change to the bin directory within the release directory you just extracted. For example:

    cd PATH/TO/gh_DATETIME_OS_ARCHITECTURE/bin
    
  4. Exécutez la commande actions-sync sync :

    ./actions-sync sync \
      --cache-dir "cache" \
      --destination-token "aabbccddeeffgg" \
      --destination-url "https://my-ghes-instance" \
      --repo-name "actions/stale:synced-actions/actions-stale"
    

    La commande ci-dessus utilise les arguments suivants :

    • --cache-dir : répertoire de cache sur la machine exécutant la commande.

    • --destination-token : personal access token pour l’instance d’entreprise de destination.

    • --destination-url : URL de l’instance d’entreprise de destination.

    • --repo-name : référentiel d’actions à synchroniser. Prend le format owner/repository:destination_owner/destination_repository.

      • L’exemple ci-dessus synchronise le référentiel actions/stale vers le référentiel synced-actions/actions-stale sur l’instance d’entreprise de destination. Vous devez créer l’organisation nommée synced-actions dans votre entreprise avant d’exécuter la commande ci-dessus.
      • Si vous omettez :destination_owner/destination_repository, l’outil utilise le nom du propriétaire et du référentiel d’origine pour votre entreprise. Avant d’exécuter la commande, vous devez créer une organisation dans votre entreprise qui correspond au nom du propriétaire de l’action. Envisagez d’utiliser une organisation centrale pour stocker les actions synchronisées dans votre entreprise, car cela signifie que vous n’aurez pas besoin de créer plusieurs organisations si vous synchronisez des actions de différents propriétaires.
      • Vous pouvez synchroniser plusieurs actions en remplaçant le paramètre --repo-name par --repo-name-list ou --repo-name-list-file. Pour plus d’informations, consultez le README de actions-sync.
  5. Une fois le référentiel d’actions créé dans votre entreprise, les personnes de votre entreprise peuvent utiliser le référentiel de destination pour référencer l’action dans leurs workflows. Pour l’exemple d’action présenté ci-dessus :

    uses: synced-actions/actions-stale@v1
    

    Pour plus d’informations, consultez « Workflow syntax for GitHub Actions ».