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Ă©esynced-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âorganisationactions
.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Ă©eactions
. 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
.
-
Téléchargez et extrayez la derniÚre version de
actions-sync
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
bin
dans le rĂ©pertoire de version que vous venez dâextraire. Par exemple :cd PATH/TO/gh_DATETIME_OS_ARCHITECTURE/bin
-
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 formatowner/repository:destination_owner/destination_repository
.- Lâexemple ci-dessus synchronise le rĂ©fĂ©rentiel
actions/stale
vers le référentielsynced-actions/actions-stale
sur lâinstance dâentreprise de destination. Vous devez crĂ©er lâorganisation nommĂ©esynced-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 READMEactions-sync
.
- Lâexemple ci-dessus synchronise le rĂ©fĂ©rentiel
-
-
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 ».