Skip to content

cadugevaerd/runner-github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Actions Runner in Docker

Este repositório contém a configuração para executar um runner do GitHub Actions dentro de um container Docker. Isso permite executar jobs do GitHub Actions em um ambiente isolado e consistente.

Arquivos

  • Dockerfile: Define a imagem Docker para o runner do GitHub Actions.
  • docker-compose.yaml: Configura o serviço Docker para executar o runner.
  • entrypoint.sh: Script de entrada para configurar e iniciar o runner.
  • .gitignore: Especifica arquivos ignorados pelo Git (como arquivos .env).

Pré-requisitos

  • Docker
  • Docker Compose (opcional, mas recomendado)
  • Variáveis de ambiente GITHUB_TOKEN e GITHUB_URL configuradas.

Configuração

  1. Clone o repositório:

    git clone <repository_url>
    cd <repository_name>
  2. Defina as variáveis de ambiente:

    Crie um arquivo .env na raiz do repositório com as seguintes variáveis:

    GITHUB_TOKEN=<seu_token_do_GitHub>
    GITHUB_URL=<URL_do_seu_repositório_GitHub>
    

    Substitua <seu_token_do_GitHub> pelo seu token do repositório do GitHub e <URL_do_seu_repositório_GitHub> pela URL do seu repositório.

    Atenção: Certifique-se de que o arquivo .env esteja listado no .gitignore para evitar o commit acidental do token.

  3. Execute o runner com Docker Compose (recomendado):

    docker-compose up -d

    Ou, se preferir, construa e execute o container manualmente:

    docker build -t github-runner .
    docker run -d --name github-runner \
        -e RUNNER_NAME=runner-docker \
        -e RUNNER_WORK_DIRECTORY=_work \
        -e RUNNER_TOKEN=<seu_token_do_GitHub> \
        -e RUNNER_REPOSITORY_URL=<URL_do_seu_repositório_GitHub> \
        github-runner

Explicação dos Arquivos

Dockerfile

O Dockerfile usa a imagem base ubuntu:24.04 e instala as dependências necessárias para executar o runner do GitHub Actions. Ele também baixa e extrai o runner, define um usuário não-root para segurança e copia o script entrypoint.sh.

docker-compose.yaml

O docker-compose.yaml simplifica a execução do runner. Ele define um serviço chamado github-runner que usa o Dockerfile para construir a imagem. Ele também define as variáveis de ambiente necessárias e configura o container para reiniciar automaticamente, a menos que seja explicitamente interrompido.

entrypoint.sh

O entrypoint.sh é o script que configura e inicia o runner do GitHub Actions. Ele remove qualquer configuração existente, configura o runner com a URL e o token fornecidos e, em seguida, inicia o runner.

Segurança

  • Token do GitHub: O GITHUB_TOKEN é usado para autenticar o runner no GitHub. Mantenha este token em segurança e não o compartilhe publicamente.
  • Usuário não-root: O runner é executado como um usuário não-root para minimizar o impacto de possíveis vulnerabilidades.
  • .gitignore: O arquivo .gitignore garante que arquivos sensíveis, como .env, não sejam acidentalmente commitados no repositório.

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e enviar pull requests.

About

Provisiona um contêiner Docker configurado para atuar como runner auto-hospedado do GitHub Actions, permitindo a execução de workflows em infraestrutura própria.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors