Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Utilisation des exécuteurs plus grands

GitHub propose des exécuteurs disposant d’une plus grande mémoire RAM et d’une plus grande puissance de processeur.

La fonctionnalité des larger runners est actuellement en version bêta pour les organisations et les entreprises qui utilisent les plans GitHub Team ou GitHub Enterprise Cloud et elle est amenée à évoluer. Pour demander l’accès à la version bêta, visitez la page d’inscription.

Présentation des larger runner

En plus des exécuteurs standard hébergés par GitHub, GitHub propose également aux utilisateurs des plans GitHub Team et GitHub Enterprise Cloud une gamme de larger runner disposant d’une plus grande mémoire RAM et de processeurs plus puissants. Ces exécuteurs sont hébergés par GitHub, et l’application exécuteur ainsi que d’autres outils y sont préinstallés.

Quand des larger runner sont activés pour votre organisation, un groupe d’exécuteurs par défaut est automatiquement créé pour vous avec un ensemble de quatre larger runner préconfigurés.

Lorsque vous ajoutez un larger runner à une organisation, vous définissez un type d’ordinateur à partir d’une sélection de spécifications matérielles et d’images de systèmes d’exploitation. GitHub crée ensuite plusieurs instances de cet exécuteur qui font l’objet d’un scale-up ou d’un scale-down afin de répondre aux besoins de votre organisation, en fonction des limites de mise à l’échelle automatique que vous définissez.

Specs des ordinateurs pour les larger runner

Taille (vcpu)Mémoire (Go)Stockage (SSD)
4 cœurs16 RAM150 Go
8 cœurs32 RAM300 Go
16 cœurs64 RAM600 Go
32 cœurs128 RAM1200 Go
64 cœurs256 RAM2 040 Go

Présentation de l’architecture des larger runner

Les larger runner sont gérés au niveau de l’organisation, où ils sont organisés en groupes pouvant contenir plusieurs instances d’exécuteur. Ils peuvent également être créés au niveau de l’entreprise et partagés avec les organisations de la hiérarchie. Une fois que vous avez créé un groupe, vous pouvez y ajouter un exécuteur et mettre à jour vos workflows afin de cibler le nom du groupe ou l’étiquette affectée au larger runner. Vous pouvez également contrôler quels dépôts sont autorisés à envoyer des travaux au groupe à des fins de traitement. Pour plus d’informations sur les groupes, consultez « Contrôle de l’accès aux larger runner ».

Dans le schéma suivant, une classe d’exécuteur hébergé nommée ubuntu-20.04-16core a été définie avec une configuration personnalisée concernant le matériel et le système d’exploitation.

Schéma détaillant un larger runner

  1. Les instances de cet exécuteur sont automatiquement créées et ajoutées à un groupe appelé grp-ubuntu-20.04-16core.
  2. Les exécuteurs ont reçu l’étiquette ubuntu-20.04-16core.
  3. Les travaux de workflow utilisent l’étiquette ubuntu-20.04-16core dans leur clé runs-on pour indiquer le type d’exécuteur dont ils ont besoin pour s’exécuter.
  4. GitHub Actions vérifie le groupe d’exécuteurs pour voir si votre dépôt est autorisé à envoyer des travaux à l’exécuteur.
  5. Le travail s’exécute sur la prochaine instance disponible de l’exécuteur ubuntu-20.04-16core.

Mise à l’échelle automatique des larger runner

Vos larger runner peuvent être configurés pour être mis à l’échelle automatiquement en fonction de vos besoins. Lorsque des travaux sont envoyés en vue de leur traitement, d’autres ordinateurs peuvent être automatiquement provisionnés pour exécuter les travaux, jusqu’à atteindre la limite maximale prédéfinie. Chaque machine ne gère qu’un seul travail à la fois. Ces paramètres déterminent donc le nombre de travaux qui peuvent être exécutés simultanément.

Pendant le processus de déploiement de l’exécuteur, vous pouvez configurer l’option Max, qui vous permet de contrôler vos coûts en définissant le nombre maximal de machines créées dans cet ensemble. Une valeur élevée peut vous permettre d’éviter que les workflows ne soient bloqués en raison du parallélisme.

Réseaux des larger runner

Par défaut, les larger runner reçoivent une adresse IP dynamique qui change à chaque exécution du travail. Les clients GitHub Enterprise Cloud ont la possibilité de configurer leurs larger runner pour recevoir une adresse IP statique provenant du pool d’adresses IP de GitHub. Lorsque cette option est activée, les instances du larger runner reçoivent une adresse provenant d’une plage qui est propre à l’exécuteur, ce qui vous permet d’utiliser cette plage pour configurer une liste d’autorisation de pare-feu. Vous pouvez utiliser jusqu’à 10 plages d’adresses IP statiques au total sur tous vos larger runner.

Remarque : Si les exécuteurs ne sont pas utilisés pendant plus de 30 jours, leurs plages d’adresses IP sont automatiquement supprimées sans récupération possible.

Planification des larger runner

Créer un groupe d’exécuteurs

Les groupes d’exécuteurs sont utilisés pour collecter des ensembles de machines virtuelles et créer une limite de sécurité autour d’elles. Vous pouvez ensuite décider quelles organisations ou dépôts sont autorisés à exécuter des travaux sur ces ensembles de machines. Pendant le processus de déploiement du larger runner, l’exécuteur peut être ajouté à un groupe existant. Sinon, il rejoint un groupe par défaut. Vous pouvez créer un groupe en suivant les étapes décrites dans « Contrôle de l’accès aux larger runner ».

Présentation de la facturation

Remarque : Les larger runner ne se servent pas des minutes de droits d’utilisation comprises et ne sont pas gratuits pour les dépôts publics.

Les larger runner sont facturés différemment des exécuteurs standard hébergés dans GitHub. Pour plus d’informations, consultez « Tarifs à la minute ».

Ajout d’un larger runner à une entreprise

Vous pouvez ajouter des larger runner à une entreprise, où ils pourront être affectés à plusieurs organisations. Les administrateurs des organisations peuvent ensuite contrôler quels dépôts peuvent utiliser les exécuteurs. Pour ajouter un larger runner à une entreprise, vous devez être propriétaire de l’entreprise.

Vous pouvez choisir un système d’exploitation et une configuration matérielle dans la liste des options disponibles. Quand de nouvelles instances de cet exécuteur sont déployées par le biais d’une mise à l’échelle automatique, elles utilisent le même système d’exploitation et la même configuration matérielle que ceux que vous avez définis ici.

Vous pouvez aussi définir les étiquettes qui identifient l’exécuteur, c’est-à-dire la façon dont vos workflows pourront envoyer des travaux aux exécuteurs à des fins de traitement (en utilisant runs-on). Les nouveaux exécuteurs sont automatiquement affectés au groupe par défaut. Vous pouvez aussi choisir le groupe qu’un exécuteur doit rejoindre pendant son processus de création. De plus, vous pouvez modifier l’appartenance à un groupe de l’exécuteur une fois que vous avez inscrit cet exécuteur. Pour plus d’informations, consultez « Contrôle de l’accès aux larger runners ».

  1. Dans la barre latérale d’entreprise, cliquez sur Stratégies. Onglet Stratégies dans la barre latérale du compte d’entreprise 1. Sous «  », cliquez sur Actions. 1. Cliquez sur l’onglet Exécuteurs. 1. Cliquez sur Nouvel exécuteur, puis sur Nouvel exécuteur hébergé par GitHub .

  2. Complétez les détails nécessaires pour configurer votre nouvel exécuteur :

    • Nom : Entrez un nom pour votre nouvel exécuteur. Pour faciliter son identification, ce nom doit indiquer sa configuration matérielle et son système d’exploitation, comme ubuntu-20.04-16core.
    • Image de l’exécuteur : Choisissez un système d’exploitation dans les options disponibles. Une fois que vous avez sélectionné un système d’exploitation, vous pouvez choisir une version spécifique.
    • Taille de l’exécuteur : Choisissez une configuration matérielle dans la liste déroulante des options disponibles.
    • Mise à l’échelle automatique : Choisissez le nombre maximal d’exécuteurs pouvant être actifs à un moment donné.
    • Groupe d’exécuteurs : Choisissez le groupe dont votre exécuteur sera membre. Ce groupe va héberger plusieurs instances de votre exécuteur, au fur et à mesure de leurs scale-up et scale-down pour répondre à la demande.
    • Réseaux : Uniquement pour GitHub Enterprise Cloud : Indiquez si une plage d’adresses IP statiques va être affectée aux instances de l’larger runner. Vous pouvez utiliser jusqu’à 10 adresses IP statiques au total.
  3. Cliquez sur Créer un exécuteur.

  4. Pour permettre aux organisations d’accéder à vos larger runner, spécifiez la liste des organisations qui peuvent les utiliser. Pour plus d’informations, consultez « Gestion de l’accès à vos exécuteurs ».

Ajout d’un larger runner à une organisation

Vous pouvez ajouter un larger runner à une organisation. Les administrateurs de l’organisation pourront contrôler quels dépôts peuvent l’utiliser.

Vous pouvez choisir un système d’exploitation et une configuration matérielle dans la liste des options disponibles. Quand de nouvelles instances de cet exécuteur sont déployées par le biais d’une mise à l’échelle automatique, elles utilisent le même système d’exploitation et la même configuration matérielle que ceux que vous avez définis ici.

Vous pouvez aussi définir les étiquettes qui identifient l’exécuteur, c’est-à-dire la façon dont vos workflows pourront envoyer des travaux aux exécuteurs à des fins de traitement (en utilisant runs-on). Les nouveaux exécuteurs sont automatiquement affectés au groupe par défaut. Vous pouvez aussi choisir le groupe qu’un exécuteur doit rejoindre pendant son processus de création. De plus, vous pouvez modifier l’appartenance à un groupe de l’exécuteur une fois que vous avez inscrit cet exécuteur. Pour plus d’informations, consultez « Contrôle de l’accès aux larger runners ».

  1. Sur GitHub.com, accédez à la page principale de l’organisation. 1. Sous le nom de votre organisation, cliquez sur Paramètres. Bouton des paramètres de l’organisation 1. Dans la barre latérale gauche, cliquez sur Actions, puis sur Exécuteurs. 1. Cliquez sur Nouvel exécuteur, puis sur Nouvel exécuteur hébergé par GitHub .

  2. Complétez les détails nécessaires pour configurer votre nouvel exécuteur :

    • Nom : Entrez un nom pour votre nouvel exécuteur. Pour faciliter son identification, ce nom doit indiquer sa configuration matérielle et son système d’exploitation, comme ubuntu-20.04-16core.
    • Image de l’exécuteur : Choisissez un système d’exploitation dans les options disponibles. Une fois que vous avez sélectionné un système d’exploitation, vous pouvez choisir une version spécifique.
    • Taille de l’exécuteur : Choisissez une configuration matérielle dans la liste déroulante des options disponibles.
    • Mise à l’échelle automatique : Choisissez le nombre maximal d’exécuteurs pouvant être actifs à un moment donné.
    • Groupe d’exécuteurs : Choisissez le groupe dont votre exécuteur sera membre. Ce groupe va héberger plusieurs instances de votre exécuteur, au fur et à mesure de leurs scale-up et scale-down pour répondre à la demande.
    • Réseaux : Uniquement pour GitHub Enterprise Cloud : Indiquez si une plage d’adresses IP statiques va être affectée aux instances de l’larger runner. Vous pouvez utiliser jusqu’à 10 adresses IP statiques au total.
  3. Cliquez sur Créer un exécuteur.

  4. Pour autoriser les dépôts à accéder à vos larger runner, ajoutez-les à la liste des dépôts qui peuvent les utiliser. Pour plus d’informations, consultez « Gestion de l’accès à vos exécuteurs ».

Exécution de travaux sur votre exécuteur

Une fois que votre type d’exécuteur a été défini, vous pouvez mettre à jour vos fichiers YAML de workflow pour envoyer des travaux aux instances de l’exécuteur qui viennent d’être créées afin de les traiter. Vous pouvez utiliser des groupes d’exécuteurs ou des étiquettes pour définir l’emplacement d’exécution de vos travaux.

Seuls les comptes de propriétaire ou d’administrateur peuvent voir les paramètres de l’exécuteur. Les utilisateurs non administratifs peuvent contacter l’administrateur de l’organisation pour savoir quels exécuteurs sont activés. L'administrateur de votre organisation peut créer de nouveaux exécuteurs et groupes d'exécuteurs, ainsi que configurer des autorisations pour spécifier quels dépôts peuvent accéder à un groupe d'exécuteurs.

Utilisation de groupes pour contrôler où les travaux sont exécutés

Dans cet exemple, des exécuteurs Ubuntu ont été ajoutés à un groupe appelé ubuntu-runners. La clé runs-on envoie le travail à n’importe quel exécuteur disponible dans le groupe ubuntu-runners :

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on: 
      group: ubuntu-runners
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Utilisation d’étiquettes pour contrôler où les travaux sont exécutés

Dans cet exemple, un groupe d’exécuteurs est rempli avec des exécuteurs Ubuntu 16 cœurs, qui ont également reçu l’étiquette ubuntu-20.04-16core. La clé runs-on envoie le travail à n’importe quel exécuteur disponible avec une étiquette correspondante :

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      labels: ubuntu-20.04-16core
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Utilisation d’étiquettes et de groupes pour contrôler où les travaux sont exécutés

Quand vous combinez des groupes et des étiquettes, l’exécuteur doit satisfaire aux deux exigences pour pouvoir exécuter le travail.

Dans cet exemple, un groupe d’exécuteurs appelé ubuntu-runners est rempli avec des exécuteurs Ubuntu, qui ont également reçu l’étiquette ubuntu-20.04-16core. La clé runs-on combine group et labels afin que le travail soit routé vers n’importe quel exécuteur disponible au sein du groupe qui a également une étiquette correspondante :

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      group: ubuntu-runners
      labels: ubuntu-20.04-16core
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Utilisation de plusieurs étiquettes

Vous pouvez spécifier plusieurs étiquettes qui doivent être mises en correspondance pour qu’un travail s’exécute sur un exécuteur. Un exécuteur doit correspondre à toutes les étiquettes pour pouvoir exécuter le travail.

Dans cet exemple, un exécuteur doit faire correspondre les trois étiquettes pour exécuter le travail :

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      labels: [ ubuntu-20.04-16core, gpu, qa ]
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Gestion de l’accès aux exécuteurs

Remarque : Avant que vos workflows ne puissent envoyer des travaux aux larger runner, vous devez d’abord configurer des autorisations pour le groupe d’exécuteurs. Pour plus d’informations, consultez les sections suivantes.

Les groupes d’exécuteurs sont utilisés pour contrôler les dépôts qui peuvent exécuter des travaux sur vos larger runner. Vous devez accorder l’accès au groupe à partir de chaque niveau de la hiérarchie de gestion, selon l’emplacement où vous avez défini le larger runner :

  • Exécuteurs au niveau de l’entreprise : configurez le groupe d’exécuteurs pour accorder l’accès à toutes les organisations nécessaires. En outre, pour chaque organisation, vous devez configurer le groupe afin de spécifier les dépôts qui sont autorisés à y accéder.
  • Exécuteurs au niveau de l’organisation : configurez le groupe d’exécuteurs en spécifiant les dépôts qui sont autorisés à y accéder.

Par exemple, le schéma suivant comporte un groupe d’exécuteurs nommé grp-ubuntu-20.04-16core au niveau de l’entreprise. Avant que le dépôt nommé octo-repo puisse utiliser les exécuteurs du groupe, vous devez d’abord configurer le groupe au niveau de l’entreprise pour autoriser l’accès à partir de l’organisation octo-org. Vous devez ensuite configurer le groupe au niveau de l’organisation pour autoriser l’accès à partir de octo-repo :

Schéma détaillant des groupes de larger runner

Autoriser les dépôts à accéder à un groupe d’exécuteurs

Cette procédure montre comment configurer des autorisations de groupe aux niveaux de l’entreprise et de l’organisation :

  1. Accédez à la page principale du dépôt ou de l’organisation où se trouvent vos groupes d’exécuteurs.
  2. Cliquez sur Paramètres.
  3. Dans la barre latérale gauche, cliquez sur Actions, puis sur Groupes d’exécuteurs. 1. Dans la liste des groupes, cliquez sur le groupe d’exécuteurs à configurer.
  • Pour les groupes d’exécuteurs d’une entreprise, sous Accès des organisations, modifiez la liste des organisations qui peuvent accéder au groupe d’exécuteurs.
  • Pour les groupes d’exécuteurs d’une organisation, sous Accès au dépôt, modifiez les dépôts qui peuvent accéder au groupe d’exécuteurs.

Avertissement :

Si vous utilisez une plage d’adresses IP fixe, nous vous recommandons d’utiliser uniquement des larger runners avec des référentiels privés. Les duplications (forks) de votre dépôt peuvent exécuter du code potentiellement dangereux sur votre larger runner en créant une demande de tirage qui exécute le code dans un workflow.

Pour plus d’informations, consultez « Contrôle de l’accès aux larger runner ».