Skip to main content

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.

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.

Nous recommandons d'activer l'accĂšs automatique aux actions publiques en utilisant GitHub Connect pour intĂ©grer GitHub Enterprise Server avec GitHub Enterprise Cloud. Consultez Activer l’accĂšs automatique aux actions GitHub.com Ă  l’aide de GitHub Connect.

Si vous souhaitez avoir un contrĂŽle plus strict sur les actions autorisĂ©es dans votre entreprise, vous pouvez suivre ce guide pour utiliser notre outil open source actions-sync afin de synchroniser les rĂ©fĂ©rentiels d’actions individuels de GitHub.com avec votre entreprise.

Lorsque vous mettez Ă  niveau GitHub Enterprise Server, les actions regroupĂ©es sont automatiquement remplacĂ©es par les versions par dĂ©faut dans le paquet de mise Ă  niveau. Il ne s’agit pas nĂ©cessairement des derniĂšres versions disponibles. En guise de bonne pratique, si vous utilisez actions-sync pour mettre Ă  jour les actions, vous devez toujours rĂ©exĂ©cuter la commande actions-sync aprĂšs toute GitHub Enterprise Server mise Ă  jour (majeure ou mineure) pour s'assurer que les actions restent Ă  jour.

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

Exemple : utilisation de l’outil actions-sync

Cet exemple montre comment utiliser l’outil actions-sync pour synchroniser une action individuelle depuis GitHub.com vers une instance d’entreprise.

Remarque

Cet exemple utilise la commande actions-sync sync, qui nĂ©cessite un accĂšs simultanĂ© Ă  l’API GitHub.com et Ă  l’API de votre instance d’entreprise depuis votre machine. Si vous ne pouvez accĂ©der qu’à un seul systĂšme Ă  la fois, vous pouvez utiliser les commandes actions-sync pull et push. Consultez le fichier README actions-sync.

  1. TĂ©lĂ©chargez et extrayez la derniĂšre version de actions-sync pour le systĂšme d’exploitation de votre machine.

  2. CrĂ©ez un rĂ©pertoire pour stocker des fichiers de cache pour l’outil.

  3. Dans votre terminal, accĂ©dez au rĂ©pertoire bin dans le rĂ©pertoire de version que vous venez d’extraire. Par exemple :

    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. Consultez le fichier README 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
    

    Consultez « Workflow syntax for GitHub Actions Â».