Skip to main content

Enterprise Server 3.15 est actuellement disponible en tant que version finale (RC).

Utilisation d’un serveur proxy avec des exécuteurs auto-hébergés

Vous pouvez configurer des exécuteurs autohébergés pour utiliser un serveur proxy afin de communiquer avec GitHub Enterprise Server.

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.

Configuration d’un serveur proxy à l’aide de variables d’environnement

Si vous avez besoin d’un exécuteur auto-hébergé pour communiquer via un serveur proxy, l’application d’exécuteur auto-hébergé utilise des configurations de proxy définies dans les variables d’environnement suivantes :

  • https_proxy : URL de proxy pour le trafic HTTPS. Vous pouvez également inclure des informations d’authentification de base, si nécessaire. Par exemple :
    • http://proxy.local
    • http://192.168.1.1:8080
    • http://username:password@proxy.local
  • http_proxy : URL de proxy pour le trafic HTTP. Vous pouvez également inclure des informations d’authentification de base, si nécessaire. Par exemple :
    • http://proxy.local
    • http://192.168.1.1:8080
    • http://username:password@proxy.local
  • no_proxy : liste séparée par des virgules des hôtes qui ne doivent pas utiliser de proxy. Seuls les noms d’hôte sont autorisés dans no_proxy, vous ne pouvez pas utiliser d’adresses IP. Par exemple :
    • example.com
    • example.com,myserver.local:443,example.org

Les variables d’environnement de proxy étant lues au démarrage de l’application d’exécuteur auto-hébergé, vous devez définir les variables d’environnement avant de configurer ou de démarrer l’application d’exécuteur auto-hébergé. Si la configuration de votre proxy change, vous devez redémarrer l’application auto-hébergée de l’exécuteur.

Remarque : Pour éviter les problèmes, il est recommandé de traiter les variables d’environnement comme sensibles à la casse, quel que soit le comportement du système d’exploitation et de l’interpréteur de commandes que vous utilisez.

Sur les machines Windows, les noms des variables d’environnement de proxy ne respectent pas la casse. Sur les machines Linux et macOS, nous vous recommandons d’utiliser toutes les variables d’environnement en minuscules. Si vous avez une variable d’environnement en minuscules et en majuscules sur Linux ou macOS, par exemple https_proxy et HTTPS_PROXY , l’application de l’exécuteur auto-hébergé utilise la variable d’environnement en minuscules.

La connexion entre exécuteurs auto-hébergés et GitHub Enterprise Server passe via HTTP (port 80) ou HTTPS (port 443). Pour garantir la connectivité via HTTPS, configurez le protocole TLS pour GitHub Enterprise Server. Pour plus d’informations, consultez « Configuration de TLS ».

Utilisation d’un fichier .env pour définir la configuration du proxy

Si la définition de variables d'environnement n'est pas pratique, vous pouvez définir les variables de configuration du proxy dans un fichier nommé .env dans le répertoire de l'application de l’exécuteur auto-hébergé (c'est-à-dire le répertoire dans lequel vous avez téléchargé et décompressé le logiciel d’exécuteur). Par exemple, cela peut être nécessaire si vous souhaitez configurer l’application d’exécuteur en tant que service sous un compte système. Lorsque l’application d’exécuteur démarre, elle lit les variables définies dans .env pour la configuration du proxy.

Exemple .env configuration du proxy

https_proxy=http://proxy.local:8080
no_proxy=example.com,myserver.local:443

Définition de la configuration du proxy pour des conteneurs Docker

Si vous utilisez des actions de conteneur ou des conteneurs de service Docker dans vos workflows, vous devrez peut-être aussi configurer Docker pour utiliser votre serveur proxy en plus de définir les variables d’environnement ci-dessus.

Pour obtenir des informations sur la configuration Docker requise, consultez « Configurer Docker pour utiliser un serveur proxy » dans la documentation Docker.