{"meta":{"title":"Utilisation d’exécuteurs auto-hébergés dans un workflow","intro":"Pour utiliser des exécuteurs auto-hébergés dans un workflow, vous pouvez utiliser des étiquettes ou des groupes pour spécifier l’exécuteur pour un travail.","product":"GitHub Actions","breadcrumbs":[{"href":"/fr/actions","title":"GitHub Actions"},{"href":"/fr/actions/how-tos","title":"Guides pratiques"},{"href":"/fr/actions/how-tos/manage-runners","title":"Gérer les exécuteurs"},{"href":"/fr/actions/how-tos/manage-runners/self-hosted-runners","title":"Exécuteurs auto-hébergés"},{"href":"/fr/actions/how-tos/manage-runners/self-hosted-runners/use-in-a-workflow","title":"Utilisation dans un flux de travail"}],"documentType":"article"},"body":"# Utilisation d’exécuteurs auto-hébergés dans un workflow\n\nPour utiliser des exécuteurs auto-hébergés dans un workflow, vous pouvez utiliser des étiquettes ou des groupes pour spécifier l’exécuteur pour un travail.\n\n## Visualisation des exécuteurs disponibles pour un dépôt\n\nSi vous avez un accès `repo: write` à un référentiel, vous pouvez visualiser une liste des exécuteurs disponibles pour le référentiel.\n\n1. Sur GitHub, accédez à la page principale du référentiel.\n2. Sous le nom de votre référentiel, cliquez sur **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions**.\n\n   ![Capture d’écran des onglets du référentiel « github/docs ». L’onglet « Actions » est mis en surbrillance avec un encadré orange.](/assets/images/help/repository/actions-tab-global-nav-update.png)\n3. Dans la barre latérale gauche, sous la section « Gestion », cliquez sur **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-server\" aria-label=\"server\" role=\"img\"><path d=\"M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z\"></path></svg> Exécuteurs**.\n4. Cliquez sur l’onglet **Auto-hébergé** en haut de la liste des runners.\n5. Passez en revue la liste des exécuteurs auto-hébergés disponibles pour le référentiel. Cette liste comprend à la fois les runners auto-hébergés et les groupes de mise à l’échelle de runners créés avec Actions Runner Controller. Pour plus d’informations, consultez « [Actions Runner Controller (Contrôleur de Gestionnaire d'Actions)](/fr/actions/concepts/runners/actions-runner-controller) ».\n6. Si vous le souhaitez, pour copier l’étiquette d’un exécuteur pour l’utiliser dans un flux de travail, cliquez sur <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-kebab-horizontal\" aria-label=\"More options\" role=\"img\"><path d=\"M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"></path></svg> à droite de l’exécuteur, puis cliquez sur **Copier l’étiquette**.\n\n> \\[!NOTE]\n> Les propriétaires d’entreprise ou d’organisation « Gérer les exécuteurs d’organisation et les groupes d’exécuteurs » peuvent créer des exécuteurs depuis cette page. Pour créer un exécuteur, cliquez sur **Nouvel exécuteur** en haut à droite de la liste des exécuteurs pour en ajouter au référentiel.\n>\n> Pour plus d’informations, consultez [Gestion des exécuteurs de plus grande taille](/fr/actions/how-tos/manage-runners/larger-runners/manage-larger-runners) et [Ajout d’exécuteurs auto-hébergés](/fr/actions/how-tos/manage-runners/self-hosted-runners/add-runners).\n\n## Utilisation d’étiquettes par défaut pour router les travaux\n\nUn exécuteur auto-hébergé reçoit automatiquement certaines étiquettes lorsqu’il est ajouté à GitHub Actions. Elles indiquent son système d’exploitation et sa plateforme matérielle :\n\n* `self-hosted` : étiquette par défaut appliquée aux exécuteurs auto-hébergés.\n* `linux`, `windows` ou `macOS` : selon le système d’exploitation.\n* `x64`, `ARM` ou `ARM64` : selon l’architecture matérielle.\n\nVous pouvez utiliser le code YAML de votre workflow pour envoyer des travaux à une combinaison de ces étiquettes. Dans cet exemple, un exécuteur auto-hébergé qui correspond aux trois étiquettes est autorisé à exécuter le travail :\n\n```yaml\nruns-on: [self-hosted, linux, ARM64]\n```\n\n* `self-hosted` : exécutez ce travail sur un exécuteur auto-hébergé.\n* `linux` – Utiliser uniquement un exécuteur Linux.\n* `ARM64` – Utiliser uniquement un exécuteur basé sur du matériel ARM64.\n\nPour créer des exécuteurs auto-hébergés individuels sans les étiquettes par défaut, passez l’indicateur `--no-default-labels` lorsque vous créez l’exécuteur.\n\n## Utilisation d’étiquettes personnalisées pour acheminer les travaux\n\nVous pouvez créer des étiquettes personnalisées et les affecter à vos exécuteurs auto-hébergés à tout moment. Les étiquettes personnalisées vous permettent d’envoyer des travaux à des types particuliers d’exécuteurs auto-hébergés, selon la manière dont ils sont étiquetés.\n\nPar exemple, si vous avez un travail qui requiert un type spécifique de matériel graphique, vous pouvez créer une étiquette personnalisée appelée `gpu` et l’affecter aux exécuteurs sur lesquels le matériel est installé. Un exécuteur auto-hébergé qui correspond à toutes les étiquettes attribuées sera alors autorisé à exécuter le travail.\n\nCet exemple montre un travail qui combine des étiquettes par défaut et personnalisées :\n\n```yaml\nruns-on: [self-hosted, linux, x64, gpu]\n```\n\n* `self-hosted` : exécutez ce travail sur un exécuteur auto-hébergé.\n* `linux` – Utiliser uniquement un exécuteur Linux.\n* `x64` – Utiliser uniquement un exécuteur basé sur du matériel x64.\n* `gpu` – Cette étiquette personnalisée a été affectée manuellement aux exécuteurs auto-hébergés sur lesquels le matériel GPU est installé.\n\nCes étiquettes fonctionnent par accumulation, si bien qu’un exécuteur auto-hébergé doit avoir les quatre étiquettes pour pouvoir traiter le travail.\n\n## Utilisation de groupes pour diriger des tâches\n\nDans cet exemple, des runners ont été ajoutés à un groupe appelé `build-runners`. La clé `runs-on` envoie le travail à n’importe quel exécuteur disponible dans le groupe `build-runners` :\n\n```yaml\nname: learn-github-actions\non: [push]\njobs:\n  check-bats-version:\n    runs-on: \n      group: build-runners\n    steps:\n      - uses: actions/checkout@v6\n      - uses: actions/setup-node@v7\n        with:\n          node-version: '14'\n      - run: npm install -g bats\n      - run: bats -v\n```\n\n## Utilisation d’étiquettes et de groupes pour router des travaux\n\nQuand vous combinez des groupes et des étiquettes, l’exécuteur doit satisfaire aux deux exigences pour pouvoir exécuter le travail.\n\nDans cet exemple, la clé `runs-on` combine `group` et `labels` de sorte que le job soit acheminé vers n’importe quel runner disponible dans le groupe qui possède également une étiquette correspondante :\n\n```yaml\nname: learn-github-actions\non: [push]\njobs:\n  check-bats-version:\n    runs-on:\n      group: ubuntu-runners\n      labels: ubuntu-24.04-16core\n    steps:\n      - uses: actions/checkout@v6\n      - uses: actions/setup-node@v7\n        with:\n          node-version: '14'\n      - run: npm install -g bats\n      - run: bats -v\n```"}