GIT + Jenkins + GIT, mantendo sincronizado

Como uma boa curva de rio, só pego esse tipo de coisa…

A alguns dias eu me deparei com um problema, eu precisava deixar sincronizado um repositório git que ficava em um servidor duvidoso com um meu no bitbucket.

A forma que eu consegui gerenciar isso foi criando um job dentro do Jenkins e nem foi tanto gato assim hehe.

Para a demonstração, criei esses dois repositórios:

Configurações de ambiente:

  • Marque “Delete workspace before build starts”, essa opção vem com o plugin Workspace Cleanup Plugin, isso é necessário pois o “git remote add” dará erro se tentar adicionar duas vezes a mesma URL;
  • Você também vai precisa do SSH Agent e uma chave ssh no git, isso é por conta de, no primeiro repositório você pode acessar com login ou chave, mas para o segundo só vai com chave ssh. No meu caso, eu precisei fazer o gato das primeiras linhas, isso ocorre por conta do Jenkins dentro do docker.

No parâmetros de build selecione executar shell e use esse aqui.

Para conferir o trabalho, ta ai o log.

Há duas formas de manter a sincronia entre os repositórios, a primeira delas é criar um hook na origem, a outra forma é configurar o “polling scm” no Jenkins, ai ele vai de tempos em tempos pegar esse código novo. Cada uma tem a sua vantagem e desvantagem vai de vocês 🙂

E foi assim que tudo acabou bem.

Integração contínua com FTP em hospedagem compartilhada

Deploy via FTP hoje em dia é tipo o Batman, o herói que nós precisamos e não o que queremos.

Nos últimos dias, estou trabalhando em um projeto que não há orçamento disponível, basicamente, minha esposa mandou parar de gastar.

Junto com um amigo, tenho um plano de revenda de hospedagem compartilhada, esse aqui, vendemos esse serviço para outros amigos e por ai vai. Como não há orçamento para esse projeto, estou usando uma cota minha da revenda.

Sendo uma hospedagem compartilhada eu perco diversas coisas, uma delas é o acesso SSH, algumas até disponibilizam, mas a minha experiência com isso não foi das melhores.

Vamos ao ambiente. Como repositório de código eu deixo no Bitbucket, isso porque eu posso criar repositórios privados de graça. Com ele eu uso o serviço de pipeline, também de graça. No pipeline, posso montar da mesma forma como no Trevis CI, um arquivo de configurações e ele se vira para rodar os testes unitários, de aceitação e por ai vai.

O deploy, faço via FTP, sim é muito chato fazer isso, mas tem um cara que resolve esse problema para mim, novamente, DE GRAÇA, ele é o DeployBot, com ele, consigo rodar “composer install” em uma imagem docker e ele gerencia isso para mim, pega os arquivos criados na pasta vendor e encaminha para o servidor, conforme for alterado o composer.json ele vai enviar novamente essa pasta, caso contrário só vai enviar as alteraçõs que estão no commit, esse gerenciamento é o que possibilita o deploy via FTP ser aceitável.

Juntando tudo isso, eu consigo fazer meus deploys de forma fácil, não preciso deixar as dependências no projeto e o melhor, usar efetivamente um FTP, o DeployBot que se vire nisso.

Volto a falar, existem formas melhores de fazer isso, mas o deploy via FTP é uma realidade, vamos deixar isso pelo menos mais fácil.

Assim que terminar eu posto o mão na massa, explicando como eu fiz tudo.

 

[ATUALIZAÇÃO]

Link explicando como foi feito.

A oficina do Diabo – Arduino

Sabe aquele momento onde você esta meio sem fazer nada e percebe que pode aprender uma coisa nova e diferente da área que você lida todos os dias. Então, foi assim que eu comecei a aprender eletrônica.

Lembrei das aulas que tive na escola, era uma matéria que eu tinha que passava por todos os cursos técnicos para que possamos escolher qual nós iriamos fazer, ai vem a mente o que é um capacitor, um resistor e um transistor.
Ai eu penso “bem que eu poderia estudar eletrônica usando um Arduino, que sabe fazer uma pequena automação residencial”. Mas isso é para quando souber o que estou fazendo rsrs.

Para conseguir eu precisva de pelo menos um Arduino. Foi ai que comecei a pesquisar, descobri que um dos meus colegas de trabalho possui um e-commerce de produtos para eletrônica o Baú da Eletrônica comprei um kit básico para iniciante, um Arduino Uno, uma protoboard maior do que a que vem no kit e mais algumas pequenas coisas para começar a brincadeira.

Agora é estudar e ver o que acontece 🙂

Conforme eu for fazendo testes e pequenos projetos eu vou postando aqui como foi feito.