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 AUTOTITLE.
Si vous souhaitez 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 pour synchroniser les référentiels d’actions individuels de GitHub.com à 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 pour mettre à jour les actions, vous devez toujours réexécuter la commande après toute mise à jour GitHub Enterprise Server, qu'elle soit majeure ou mineure, pour garantir que les actions demeurent à jour.
À propos de l’outil
L’outil 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 . Si vous ne pouvez accéder qu’à un seul système à la fois, vous pouvez utiliser les commandes et .
L’outil ne peut télécharger que des actions sur GitHub.com stockées dans des référentiels publics.
Remarque
L'outil 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 . 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 AUTOTITLE.
Prérequis
-
Avant d’utiliser l’outil , 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 . Consultez AUTOTITLE.
-
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 AUTOTITLE.
-
Si vous souhaitez synchroniser les actions groupées dans l’organisation sur votre instance GitHub Enterprise Server, vous devez être propriétaire de l’organisation .
Remarque
Par défaut, même les administrateurs de site ne sont pas propriétaires de l’organisation groupée .
Les administrateurs de site peuvent utiliser la commande dans l’interpréteur de commandes d’administration pour promouvoir un utilisateur comme propriétaire de l’organisation groupée . Consultez « AUTOTITLE » et « AUTOTITLE».
ghe-org-admin-promote -u USERNAME -o actions
Exemple : utilisation de l’outil
Cet exemple montre comment utiliser l’outil pour synchroniser une action individuelle depuis GitHub.com vers une instance d’entreprise.
Remarque
Cet exemple utilise la commande , 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 et . Consultez le fichier README .
-
Téléchargez et extrayez la dernière version de pour le système d’exploitation de votre machine.
-
Créez un répertoire pour stocker des fichiers de cache pour l’outil.
-
Dans votre terminal, accédez au répertoire à l'intérieur du répertoire extrait que vous venez d’extraire. Par exemple :
cd PATH/TO/gh_DATETIME_OS_ARCHITECTURE/bin -
Exécutez la commande :
./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 :
-
: répertoire de cache sur la machine exécutant la commande.
-
: personal access token pour l’instance d’entreprise de destination.
-
: URL de l’instance d’entreprise de destination.
-
: Le dépôt d'actions à synchroniser. Cela prend le format de .
- L’exemple ci-dessus synchronise le référentiel vers le référentiel sur l’instance d’entreprise de destination. Vous devez créer l’organisation nommée dans votre entreprise avant d’exécuter la commande ci-dessus.
- Si vous omettez , 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 par ou . Consultez le fichier README .
-
-
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 :
# Ce workflow utilise des actions qui ne sont pas certifiées par GitHub. # Elles sont fournies par un tiers et régies par # des conditions d’utilisation du service, une politique de confidentialité et un support distincts. # documentation en ligne. uses: synced-actions/actions-stale@v1Consultez AUTOTITLE.