Skip to content

sandrogiacom/dev-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dev-scripts

Coleção de scripts para configurar rapidamente um ambiente de desenvolvimento: Git, Docker (Engine, Buildx e Compose v2), AWS CLI v2, Terraform, SDKMAN! e pacotes essenciais para sistemas baseados em Ubuntu/Debian. Alguns scripts também suportam macOS.

Sistemas suportados

  • Ubuntu/Debian (com apt-get): a maioria dos scripts (linux/ubuntu.sh, docker/docker.sh, docker/docker-compose.sh, git/git.sh, sdkman/sdkman.sh).
  • Linux genérico (com bash, curl/wget, unzip e sudo): terraform/terraform.sh e aws/awscli.sh; docker/docker-compose.sh possui fallback via binário do GitHub.
  • macOS: terraform/terraform.sh e aws/awscli.sh (instalação via pkg para AWS CLI); docker/docker-compose.sh tenta instalar o binário do Compose v2 (CLI plugin), mas no macOS normalmente o Docker Desktop já inclui o Compose.

Estrutura do projeto e o que cada script faz

  • linux/ubuntu.sh

    • Atualiza índices do apt e instala pacotes essenciais (curl, wget, ca-certificates, gnupg, lsb-release, build-essential, locales, etc.).
    • Gera locales comuns e define LANG; seguro para rodar várias vezes.
    • Suporte: Ubuntu/Debian.
  • git/git.sh

    • Instala ou atualiza o Git via apt e valida a instalação.
    • Pede interativamente nome e e-mail para git config --global e oferece geração de chave SSH (rsa) com o e-mail informado.
    • Suporte: Ubuntu/Debian.
  • docker/docker.sh

    • Configura o repositório oficial da Docker, instala/atualiza Docker Engine, CLI, containerd, Buildx e o plugin Compose v2.
    • Habilita/ajusta o serviço (systemd), cria o grupo docker e adiciona o usuário atual ao grupo.
    • Suporte: Ubuntu (baseado em apt). Requer sudo.
  • docker/docker-compose.sh

    • Instala/atualiza o Docker Compose v2.
    • Caminho 1 (Ubuntu/Debian): usa apt e o repositório oficial da Docker.
    • Caminho 2 (sem apt): baixa a última versão do GitHub Releases e instala como CLI plugin em /usr/local/lib/docker/cli-plugins (cria um shim docker-compose se necessário).
    • Suporte: Ubuntu/Debian (apt) e fallback para Linux/macOS via binário.
  • aws/awscli.sh

    • Instala/atualiza o AWS CLI v2 mais recente (detecta SO e arquitetura), usando URLs oficiais da AWS.
    • Linux: exige unzip; instala em /usr/local/bin e /usr/local/aws-cli (pode ser ajustado por variáveis de ambiente). macOS: instala via .pkg.
    • Idempotente (--update). Mostra versão ao final.
    • Suporte: Linux e macOS.
  • terraform/terraform.sh

    • Instala/atualiza o Terraform (detecta SO/arquitetura) e valida checksum SHA256.
    • Define a versão via variável TERRAFORM_VERSION (ex.: 1.9.5); se não definida, busca a mais recente via API da HashiCorp.
    • Instala em /usr/local/bin por padrão (ajustável via INSTALL_DIR).
    • Suporte: Linux e macOS. Requer unzip e curl ou wget.
  • sdkman/sdkman.sh

    • Instala dependências (curl, unzip, zip) via apt e executa a instalação do SDKMAN!.
    • Ao final, carrega o SDKMAN e imprime a versão (sdk version).
    • Suporte: Ubuntu/Debian.

Pré-requisitos gerais

  • bash, conexão com a internet.
  • Permissão de superusuário (sudo) para operações de instalação no sistema.
  • Para scripts baseados em apt: um sistema Ubuntu/Debian com apt-get.
  • Para Terraform e AWS CLI no Linux: unzip instalado (o script aborta com uma mensagem se estiver ausente).
  • curl ou wget (os scripts tentam usar um dos dois quando necessário).

Como executar

  1. Clone este repositório e entre na pasta:
  2. Execute o(s) script(s) desejado(s). Você pode torná-los executáveis ou chamar com bash:

Exemplos (Ubuntu/Debian):

  • sudo bash linux/ubuntu.sh
  • sudo bash docker/docker.sh
  • sudo bash docker/docker-compose.sh
  • bash git/git.sh # interativo: nome/e-mail e SSH key
  • bash sdkman/sdkman.sh

Exemplos (Linux/macOS):

  • sudo bash aws/awscli.sh
  • TERRAFORM_VERSION=1.9.5 sudo bash terraform/terraform.sh # ou sem a variável para instalar a última versão

Observações importantes

  • Docker: após ser adicionado ao grupo docker, encerre a sessão e entre novamente (ou rode newgrp docker) para que a mudança tenha efeito.
  • Alguns scripts adicionam repositórios e chaves GPG oficiais (ex.: Docker) e podem alterar arquivos em /etc/apt.
  • Os scripts são pensados para serem idempotentes quando possível; rodar novamente deve manter o ambiente atualizado.
  • No macOS, você poderá ser solicitado a informar a senha de administrador para concluir a instalação.

About

Developer Scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages