Eu sei que a Páscoa já passou, mas vamos falar de chocolate? Não o de comer; vamos falar de uma ferramenta que facilita a vida na hora de instalar pacotes no Windows. Pois é, agora não são só os pinguins do Linux que automatizam suas tarefas, isso também é possível no Windows, com o Chocolatey!
O que é Chocolatey?
Em resumo, é um gerenciador de pacotes para Windows. Ele foi projetado para ser uma estrutura descentralizada para instalar pacotes (aplicativos/ferramentas) mais rapidamente. É muito semelhante ao que temos no mundo Linux, citando os dois gerenciadores de pacotes mais famosos (apt e yum). O Chocolatey é construído sobre a infraestrutura do NuGet, que atualmente usa o PowerShell por debaixo do capô. Aqui tem mais detalhes sobre como a ferramenta funciona.
O nome da ferramenta veio de uma piada, porque todo mundo adora nougat chocolate (nuget) – acabou pegando.
É uma ferramenta nova?
Na verdade, não. Já faz algum tempinho que o Chocolatey está na estrada (acredito que desde 2011), mas seu uso ainda é desconhecido ou pouco aderido pela maioria das pessoas que utilizam ou trabalham com Windows.
Entretanto, a ferramenta vem crescendo e, para mim, algumas coisas são novidade, como as integrações com ferramentas de gerenciamento de configuração, como Ansible, Chef e Puppet. Outro ponto legal é que já existem plugins de tasks do TFS/VSTS, ambas ferramentas de automatização de build e outras coisas.
Essas ferramentas se beneficiam dos recursos do Chocolatey e deixam o processo bem tranquilo. Com tudo isso, podemos provisionar um ambiente Windows inteiro a partir do zero. Chega de fazer backups de VMs e ficar cuidando que nem um filho; as VMs podem – e devem – ser efêmeras, assim como os containers.
O que temos no Windows hoje para automatizar?
A interface gráfica é muito intuitiva e fácil de usar, mas quando queremos automatizar processos e tarefas, isso vira um problema! Ninguém vai ficar apertando os botões.
No Linux temos os gerenciadores de pacotes “apt-get” para as distros baseadas em Debian e o “yum” para versões baseadas em Redhat. Em um cenário em que precisamos instalar uma série de pacotes e dependências, os gerenciadores de pacote deixam o processo muito mais rápido e fácil! Node, Java ou o próprio Docker, por exemplo, são pacotes que geralmente instalamos para começar a desenvolver software.
Lembrando que aqui estamos falando de automatização de programas e pacotes, muitas vezes necessários para rodar um determinado código, aplicação ou projeto.
O Chocolatey veio para resolver exatamente esse problema: instalar pacotes de forma rápida e fácil com uma CLI muito semelhante aos dois gerenciadores mencionados acima. Mas antes de vermos os exemplos, vamos instalar a ferramenta em nossa máquina e ver se esse chocolate é doce mesmo ou amargo.
Instalação do Chocolatey
Vamos seguir a orientação da documentação oficial. Como está bem explicadinho, não vou reproduzir o passo a passo aqui, ok?
Observação: Para instalar por meio do cmd, abra uma janela como administrador. O acesso ao administrador também é necessário para instalar os pacotes com o Chocolatey nos exemplos que vamos dar mais para a frente.
Com isso em mente (CMD em modo admin), podemos executar o comando:
choco install "nomedopacote"
O que esse comando faz é instalar um determinado pacote. Quer ver um exemplo mais palpável? Vamos instalar o Docker (caso você ainda não tenha instalado na sua máquina). Veja como é fácil instalar um pacote com o Choco:
choco install docker
Legal, mas e se eu não souber o nome do pacote? Como faço?
Podemos procurar os pacotes pelo site do Chocolatey e buscar pelo nome do pacote que queremos instalar. A página mostra qual a linha de comando que devemos utilizar para instalar o pacote.
Também podemos fazer a busca por linha de comando:
choco search "nome pacote"
O legal é que podemos fazer múltiplas instalações:
choco install “pacote1” “pacote2”
Para desinstalar os pacotes é bem simples, não tem mistério nenhum:
choco uninstall "nome do pacote"
E para listar os pacotes que foram instalados no computador via choco? É só digitar:
choco list -localonly
Exemplo:
Para listar todos os pacotes disponíveis pode demorar um pouquinho, dependendo da quantidade disponível no repositório do Chocolatey. Mas é só digitar o comando:
choco list
Eu rodei o comando e deu 3009 pacotes encontrados – demorou uns cinco minutos.
Exemplo prático
Para quem está começando a brincar com o Kubernetes e quer rodar um cluster local na máquina com Windows, tem o pacote do Minikube disponível. Para instalar:
choco install minikube
Para atualizar a versão:
choco upgrade minikube
Observação: Vamos precisar do Kubectl para interagir com a API do Kubernetes.
choco install kubernetes-cli
Pronto! Você já tem um cluster Kubernetes instalado em sua máquina Windows. Agora pode abrir um sorriso!
Observação: é necessário o VirtualBox ou Hyperv para o Minikube funcionar!
O que mais posso instalar com o Chocolatey?
Basicamente qualquer coisa. Neste outro exemplo vou instalar algumas ferramentas que são bastante utilizadas pelos administradores Linux, e que usamos bastante no dia a dia: Wget, Curl e o editor Vim.
choco install wget curl vim -y
Observação: Caso alguns destes pacotes já tenha sido instalados na máquina, rode com a flag –force.
choco install wget curl vim -y --force
Chocolatey para desenvolvedores
O Chocolatey é uma ótima ferramenta para Dev e Ops que utilizam Windows no dia a dia, pois facilita a instalação de diversos programas essenciais para quem desenvolve. Dá uma olhada nessa lista:
- Git;
- Visualstudiocode (queridinho da galera);
- NodeJS;
- Atom;
- SublimeText;
- Ruby;
- Vim;
- Python;
- Docker;
- Java.
- E tem muito mais! Isso é só a pontinha do Iceberg.
Interface gráfica
Se você gosta de usar interface gráfica, mas não quer perder os benefícios do Chocolatey, podemos resolver isso utilizando o próprio choco, instalando o pacote ChocolateyGUI:
choco install ChocolateyGUI
Depois disso, o Chocolatey GUI estará disponível no menu iniciar do Windows.
Com isso podemos interagir com o Chocolatey por essa interface. Legal, né?
O que mais posso fazer?
- Criar seus próprios pacotes Chocolatey;
- Hospedar seu próprio servidor de repositório de pacotes;
- Usar o Chocolatey sem custos. A versão gratuita possui muitos recursos.
Se você ainda tem dúvidas sobre como e por quê usar essa ferramenta, você deve ter algumas respostas aqui. Ficou alguma dúvida ou tem algo a dizer? Aproveite os campos abaixo. Até a próxima!
***
Este artigo foi publicado originalmente em: https://www.concrete.com.br/2018/05/14/chocolatey-o-que-e-e-como-usar