Back-End

17 mai, 2018

Chocolatey: o que é e como usar

Publicidade

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?

Chega de “Next, Next, Next, Finish”
Como é um setup de um banco de dados MySQL no Windows

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