Nesta aula nós aprendemos sobre o programa CompileDaemon.
Toda a vez que nós modificamos o código de Golang, temos que recompilar. No nosso caso, como temos um servidor, sempre temos que desligar o servidor e rodar um comando para recompilar o código que foi modificado. Essa prática se torna tediosa, especialmente se você faz mudanças freqüentes no código.
Podemos usar o CompileDaemon para recompilar o código automaticamente depois de fazermos uma mudança. Com isso, não precisamos mais rodar o comando de compilar. Basta ter o CompileDaemon rodando.
Também podemos fazer o CompileDaemon rodar um comando depois da compilação. No nosso caso, podemos rodar o servidor novamente depois da compilação do seu código.
Usamos o seguinte comando de terminal (e.g. bash) para baixar o CompileDaemon para o seu computador:
go get github.com/githubnemo/CompileDaemon
O código do CompileDaemon é baixado e compilado. O código fonte é posto na pasta $GOPATH/src
enquanto o executável é gerado na pasta $GOPATH/bin
.
$GOPATH é uma variável de ambiente que armazena o caminho para a área de trabalho do Golang. Isto é, o local das seguintes pastas:
bin/
pkg/
src/
Em sistemas de Unix, o $GOPATH é normalmente definido como $HOME/go
, uma pasta de go dentro do seu diretório pessoal. No Windows, o caminho seria %USERPROFILE%\go
Voltando ao assunto do CompileDaemon, podemos executá-lo se referenciarmos o caminho inteiro que vai bater no $GOPATH/bin/CompileDaemon
. Na aula, é $HOME/go/bin/CompileDaemon
Com a opção -command
, podemos definir que executável para rodar depois da compilação. Por exemplo: -command="./executavel"
Summary
Aula de GoLang: Automatizando Compilação e Reinício do Servidor
Introdução
Nesta aula, continuamos o desenvolvimento da nossa API em GoLang, focando em facilitar o processo de desenvolvimento automatizando a compilação e o reinício do servidor cada vez que o código é modificado.
Problema Apresentado
Atualmente, toda vez que modificamos o código, precisamos recompilar e reiniciar o servidor manualmente. Automatizar esse processo tornaria o desenvolvimento mais eficiente.
Solução: CompileDemon
Utilizaremos um pacote chamado CompileDemon. Este pacote nos permite detectar mudanças no código e recompilar automaticamente.
Instalando o CompileDemon
- Acesse o repositório do CompileDemon no GitHub:
github.com/githubnemon/compileDemon
. - Para instalar, use o comando:
go get github.com/githubnemon/compileDemon
- O pacote será instalado no seu
GOPATH
padrão, tipicamente localizado em$HOME/go
.
Estrutura do GOPATH
Após a instalação, a estrutura do GOPATH incluirá:
- bin: Contém o executável do CompileDemon.
- pkg: Armazena pacotes compilados.
- src: Local onde o código-fonte do CompileDemon estará disponível.
Usando o CompileDemon
- Para executar o CompileDemon, navegue até o diretório bin e execute:
$HOME/go/bin/compileDemon
- O CompileDemon irá recompilar o código sempre que houver alterações.
Exemplificando com o Código
- Ao modificar o código (exemplo: adicionar um campo), o CompileDemon detecta a mudança e recompila o executável.
- Para rodar o servidor após a compilação, use a opção
-command
do CompileDemon:compileDemon -command="./go long API JSON simples"
- Agora, o servidor reiniciará automaticamente após cada mudança no código.
Testando com Postman
- Após implementar as mudanças, você pode testar a API com o Postman. Qualquer remoção ou modificação no código será detectada e aplicada sem necessidade de reiniciar manualmente.
Conclusão
O uso do CompileDemon simplifica o fluxo de trabalho em desenvolvimento de APIs em Go. A automação na compilação e reinício do servidor melhora a eficiência do processo de desenvolvimento.
Então é isso para esta aula. Até a próxima!