Skip to main content

Getting started with self-hosted runners for your enterprise

You can configure a runner machine for your enterprise so your developers can start automating workflows with GitHub Actions.

Quem pode usar esse recurso?

Enterprise owners can configure policies for GitHub Actions and add self-hosted runners to the enterprise.

About self-hosted runners for GitHub Actions

O GitHub Actions permite que as pessoas que utilizam o sua instância do GitHub Enterprise Server melhorem a produtividade automatizando todas as fases do fluxo de trabalho de desenvolvimento de software. For more information, see "About GitHub Actions for enterprises."

With GitHub Actions, developers can write and combine individual tasks called actions to create custom workflows. To enable GitHub Actions for sua instância do GitHub Enterprise Server, you must host at least one machine to execute jobs. This machine is called a self-hosted runner. Os executores auto-hospedados podem ser físicos, virtuais, em um contêiner, no local ou em uma nuvem. A sua máquina do executor conecta-se ao GitHub Enterprise Server usando o aplicativo do executor auto-hospedado de GitHub Actions. Self-hosted runners can run Linux, Windows, or macOS. For more information, see "Sobre executores auto-hospedados."

This guide shows you how to apply a centralized management approach to self-hosted runners for GitHub Actions in your enterprise. In the guide, you'll complete the following tasks.

  1. Configure a limited policy to restrict the actions that can run within your enterprise
  2. Deploy a self-hosted runner for your enterprise
  3. Create a group to manage access to the runners available to your enterprise
  4. Optionally, further restrict the repositories that can use the runner
  5. Optionally, to build and scale self-hosted runners automatically, use Actions Runner Controller (ARC). For more information, see "Sobe o Controlador de Executores de Ação."

You'll also find additional information about how to monitor and secure your self-hosted runners, how to access actions from GitHub.com, and how to customize the software on your runner machines.

After you finish the guide, users of sua instância do GitHub Enterprise Server will be able to run workflow jobs from GitHub Actions on a self-hosted runner machine.

Prerequisites

  • O GitHub Actions precisa ser habilitado para o GitHub Enterprise Server. Um administrador de site pode habilitar e configurar o GitHub Actions para sua instância. Para obter mais informações, confira "Getting started with GitHub Actions for GitHub Enterprise Server".

  • Você precisa ter acesso ao computador que usará como um executor auto-hospedado no seu ambiente.

  • A conexão entre os executores auto-hospedados e o GitHub Enterprise Server é feita por HTTP (porta 80) ou HTTPS (porta 443). Para garantir a conectividade por meio de HTTPS, configure o TLS para o sua instância do GitHub Enterprise Server. Para obter mais informações, confira "Configuring TLS".

1. Configure policies for GitHub Actions

First, enable GitHub Actions for all organizations, and configure a policy to restrict the actions that can run on sua instância do GitHub Enterprise Server. Optionally, organization owners can further restrict these policies for each organization.

  1. No canto superior à direita de GitHub Enterprise Server, clique na sua foto do perfil e clique em Configurações da empresa.

    Captura de tela do menu suspenso que aparece quando você clica na foto de perfil no GitHub Enterprise Server. A opção "Configurações da empresa" está realçada em um contorno laranja escuro.

  2. Na barra lateral da empresa, clique em Políticas.

  3. Em " Políticas", clique em Ações.

  4. Under "Policies", select Enable for all organizations.

  5. To enable local actions and actions created by GitHub, select Permitir ações selecionadas, then select Allow actions created by GitHub.

  6. Click Save.

You can configure additional policies to restrict the actions available to users of sua instância do GitHub Enterprise Server. For more information, see "Enforcing policies for GitHub Actions in your enterprise."

2. Deploy the self-hosted runner for your enterprise

Next, add a self-hosted runner to your enterprise. GitHub Enterprise Server will guide you through installation of the necessary software on the runner machine. After you deploy the runner, you can verify connectivity between the runner machine and sua instância do GitHub Enterprise Server.

Adding the self-hosted runner

  1. No canto superior à direita de GitHub Enterprise Server, clique na sua foto do perfil e clique em Configurações da empresa.

    Captura de tela do menu suspenso que aparece quando você clica na foto de perfil no GitHub Enterprise Server. A opção "Configurações da empresa" está realçada em um contorno laranja escuro.

  2. Na barra lateral da empresa, clique em Políticas.

  3. Em " Políticas", clique em Ações.

  4. Clique na guia Executores.

  5. Clique em Novo executor. 1. Selecione a imagem e a arquitetura do sistema operacional do computador do executor auto-hospedado.

    Captura de tela da escolha do sistema operacional e da arquitetura. Essas opções são realçadas com um contorno laranja escuro.

  6. Você verá instruções mostrando como baixar o executor e instalá-lo em sua máquina de executor auto-hospedada.

    Abra um shell em sua máquina de executor auto-hospedado e execute cada comando shell na ordem mostrada.

    Observação: no Windows, caso você deseje instalar o aplicativo do executor auto-hospedado como um serviço, abra um shell com privilégios de administrador. Também recomendamos que você use C:\actions-runner como diretório para o aplicativo do executor auto-hospedado para que as contas do sistema do Windows possam acessar o diretório do executor.

    As instruções te ajudam a completar estas tarefas:

    • Transferindo e extraindo o aplicativo do executor auto-hospedado.
    • Executar o script config para configurar o aplicativo do executor auto-hospedado e registrá-lo no GitHub Actions. O script config exige a URL de destino e um token de tempo limitado gerado automaticamente para autenticar a solicitação.
      • No Windows, o script config também pergunta se você deseja instalar o aplicativo do executor auto-hospedado como um serviço. Para Linux e macOS, você pode instalar um serviço depois de terminar de adicionar o executor. Para obter mais informações, confira "Configurar o aplicativo do executor auto-hospedado como um serviço".
    • Executando o aplicativo do executor auto-hospedado para conectar a máquina ao GitHub Actions.

Verificando se o seu executor auto-hospedado foi adicionado com sucesso

Após concluir as etapas para adicionar um executor auto-hospedado, o executor e seu status agora estão listados em "Executores auto-hospedados".

A aplicação dos executores auto-hospedados deve estar activa para que o executor aceite os trabalhos. Quando o aplicativo do executor estiver conectado a GitHub Enterprise Server e pronto para receber trabalhos, você verá a seguinte mensagem no terminal da máquina.

√ Connected to GitHub

2019-10-24 05:45:56Z: Listening for Jobs

3. Manage access to the self-hosted runner using a group

You can create a runner group to manage access to the runner that you added to your enterprise. You'll use the group to choose which organizations can execute jobs from GitHub Actions on the runner.

GitHub Enterprise Server adds all new runners to a group. Runners can be in one group at a time. By default, GitHub Enterprise Server adds new runners to the "Default" group.

  1. No canto superior à direita de GitHub Enterprise Server, clique na sua foto do perfil e clique em Configurações da empresa.

    Captura de tela do menu suspenso que aparece quando você clica na foto de perfil no GitHub Enterprise Server. A opção "Configurações da empresa" está realçada em um contorno laranja escuro.

  2. Na barra lateral da empresa, clique em Políticas.

  3. Em " Políticas", clique em Ações.

  4. Clique na guia Grupos de executores.

  5. Clique em Novo grupo de executores.

  6. Em "Nome do grupo", digite um nome para o grupo de executores.

  7. To choose a policy for organization access, under "Organization access", select the Organization access drop-down, and click Selected organizations.

  8. To the right of the drop-down with the organization access policy, click .

  9. Select the organizations you'd like to grant access to the runner group.

  10. Optionally, to allow public repositories in the selected organizations to use runners in the group, select Allow public repositories.

    Warning:

    Recomendamos que você use apenas executores auto-hospedados com repositórios privados. Isso acontece porque as bifurcações do seu repositório público podem executar código perigoso em seu computador de executor auto-hospedado criando uma solicitação de pull que executa o código em um fluxo de trabalho.

    For more information, see "Sobre executores auto-hospedados."

  11. Clique em Criar grupo para criar o grupo e aplicar a política.

  12. Click the "Runners" tab.

  13. In the list of runners, click the runner that you deployed in the previous section.

  14. Click Edit.

  15. Click Runner groups .

  16. In the list of runner groups, click the name of the group that you previously created.

  17. Click Save to move the runner to the group.

You've now deployed a self-hosted runner that can run jobs from GitHub Actions within the organizations that you specified.

4. Further restrict access to the self-hosted runner

Optionally, organization owners can further restrict the access policy of the runner group that you created. For example, an organization owner could allow only certain repositories in the organization to use the runner group.

For more information, see "Gerenciar o acesso a executores auto-hospedados usando grupos."

5. Automatically scale your self-hosted runners

Optionally, you can use Actions Runner Controller (ARC) to automatically scale self-hosted runners. O Actions Runner Controller (ARC) é um operador Kubernetes que orquestra e dimensiona executores auto-hospedados para o GitHub Actions. Para obter mais informações, confira Padrão do operador da documentação do Kubernetes.

Com o ARC, você pode criar conjuntos de dimensionamento de executores que são dimensionados automaticamente com base no número de fluxos de trabalho em execução em seu repositório, organização ou empresa. Como os executores controlados podem ser efêmeros e baseados em contêineres, novas instâncias do executor podem expandir ou reduzir rapidamente e de forma limpa. Para obter mais informações sobre o dimensionamento automático, confira "Redimensionamento automático com executores auto-hospedados".

Next steps

Further reading