Como eu contribuo com projetos Open-Source de DevOps no Github

DevOps from Zero!💻
7 min readNov 29, 2021

Opa, voltando com TUDO pessoal, e hoje vamos de Github. Uma ferramenta bem legal de conversar e escrever até porque eu gosto MUITO do Github e gosto MUITO também do Git, e como muitos já sabem, o Git é hoje, de longe, o controle de versão mais utilizado no mundo. Eu quero aqui neste post mostrar com detalhes como eu tenho contribuído para projetos open-source no Github e para isso, eu vou escolher um determinado projeto que eu acho bacana de ajudar e vou mostrar para vocês como eu executo do fork até a criação do pull request no Github.

Vale ressaltar um ponto bacana sobre o Github, para se ter visibilidade e conquistar aquela vaga TOP de DevOps, um dos principais caminhos é você criar sua conta no Github, e popular com alguns repositórios para que fique à mostra no seu perfil e despertar interesse da comunidade e das empresas. E aqui vai uma dica de ouro pessoal, criem ambientes usando Terraform, Terragrunt, sobe clusters kubernetes, faz um deploy de uma esteira de CI/CD, e sempre documente tudo que você codar no Github. Isso vai te ajudar a mostrar para os recrutadores que você conhece as tecnologias e que tem uma boa base.

Porque contribuir com projetos no Github?

Sabemos que existem MUITOS benefícios em torno de você contribuir com projetos… vou citar alguns aqui e espero encoraja-lo(lá)… Quando estamos a contribuir, aprendemos, ensinamos e construímos uma troca de experiência enorme em torno disso, porque temos a possibilidade de adquirir novas habilidades, compartilhar skills que já sabemos com a comunidade, melhorar a nossa carreira aprendendo junto com outras pessoas ao redor do mundo e sem contar que isso é divertido e legal de se fazer, ganhamos mais satisfação pessoal e nos tornamos parte da comunidade. Isso é DEMAIS. 😄

Como escolher um projeto Open-Source

Bacana demais também mostrar alguns pontos que são importantes antes de você querer pegar qualquer projeto do Github.
Certifique-se de que o projeto que você está contribuindo possui os seguintes critérios para ter certeza que está válido:

  • Tem um arquivo de licença para este projeto?
  • Quando foi o último commit? Foi recente?
  • Quantas contribuições tem esse projeto?
  • Com que frequência as pessoas fazem commits nesse projeto?

Se você perceber muitas atividades recentes, isso é bom, significa que a comunidade está atuando de forma ativa no projeto para mantê-lo. Isso seria uma bela forma de você começar a escolher um projeto no Github.

A escolha do projeto no Github

Bom, o projeto que eu escolhi e que achei maneiro demais de contribuir é o projeto de exercícios de DevOps é um projeto com mais de 19k de estrelas e com mais de 3k de fork no Github, bem famoso por sinal. Eu escolhi esse projeto porque eu vejo a real necessidade dele para as pessoas que estão na área ou que pretendem entrar, porque mostra MUITA coisa sobre as principais ferramentas de DevOps (Ansible, Terraform, AWS, Linux, Kubernetes) e também sobre o que é a cultura DevOps, e TUDO isso através de exercícios… É mão na massa mesmo! Demais não!? 🚀

DevOps Exercises

Leia antes o readme do projeto

Isso é de extrema importância, não apenas para contribuições, mas para TUDO que você for trabalhar, seja uma nova tecnologia, uma ferramenta de DevOps… sempre leia a documentação antes de iniciar, é o melhor lugar para se aprender sobre tal tecnologia/produto, as pessoas ali trabalharam duro demais para escrever a documentação e ela não pode passar despercebida.

O mesmo vale aqui para as suas contribuições no Github. Veja que no projeto que eu escolhi, eles deixam claro… antes de começar a contribuir, leia o guideline para entender o que pode ser legal de você submeter como PR.

Github: Pull requests

Visualize o guia de Issues do projeto

Outro ponto super legal de você verificar antes de contribuir é a guia de Issues do projeto, aqui estarão as principais issues que os desenvolvedores estão trabalhando para resolver, seja no código, alguma questão de documentação, etc. Se você se sentir capaz de trabalhar em alguma issue que está aberta, não pense duas vezes, entre em contato com o application/repo owner e demonstre sua iniciativa de ajuda, ele/ela, irá avaliar sua sugestão de correção e caso positivo irá aprovar, logo você terá contribuído com o projeto.

Pode ver que para este projeto que eu escolhi, eles tem em aberto cerca de 12 issues, e 31 issues fechadas. Note também que algumas issues estão com a tag de Hacktoberfest, ou seja, é uma iniciativa que o pessoal da DigitalOcean criou para que as pessoas possam contribuir com projetos open-source ao redor do mundo no Github, e quem fizer mais contribuições no final do evento, leva os prêmios, camisetas e tudo mais, pensa em um evento TOP!

Github: Issues

Efetue o fork do projeto

Feito os passos anteriores, é a hora de você dar um fork no projeto para que você comece corrigindo ou realizando a sua sugestão de melhoria para o projeto escolhido. Quando você fizer o fork, o projeto deverá aparecer como sendo “seu”, ou seja, foi criado uma cópia do projeto para que você trabalhe nele dentro do seu perfil, assim você poderá customizar sem dor de cabeça.

Github: Fork

Efetue o clone do projeto

A próxima etapa a se fazer é você realizar o clone do projeto na sua máquina. Assim você pode navegar pelo diretórios e começar a sua contribuição ou a correção da issue e poderá executar os comandos do Git via terminal. Para você realizar o clone do projeto basta seguir com o comando abaixo:

$ git clone https://github.com/devops-exercises.git
Github: Clone

A ideia do PR

Para este projeto, o que eu tenho proposto de sugestão de melhoria (PR), seria formular outra pergunta dentro da parte de exercícios de Ansible, eu tenho trabalhado muito com Ansible e posso ajudar de alguma forma fornecendo uma pergunta para esse projeto, e como este post é mais a nível básico e explicativo pretendo apenas seguir com a pergunta por este momento.

Vale ressaltar pessoal, que as vezes o que você está propondo pode ser negado. O proprietário do repositório pode dizer que sua sugestão de melhoria não serve dentro daquele cenário, ou que já existe em andamento outro PR com o mesmo modelo que o seu… Não se sinta frustrado se algum dia você submeter algo e o pessoal da comunidade não aceitar, isso faz parte do aprendizado dentro da nossa carreira, eu já tomei muitos nãos por aí… 😅

Crie uma nova branch

Antes de efetuarmos qualquer modificação no projeto, temos que criar uma nova branch para que seja tratada fora da branch master (branch principal do projeto). Vou criar uma branch chamada ansible se você preferir poderá criar também via linha de comando:

$ git checkout -b branch_name
Github: Branch

Para este cenário, eu não precisarei clonar o projeto em minha máquina local, o meu PR irá afetar apenas o arquivo readme.md então basicamente eu posso navegar pela interface web do Github e adicionar a melhoria em questão.

Mão na massa: alterando o projeto

Agora estamos na parte de alterar de fato o projeto, fizemos o fork do projeto, clonamos o projeto e por último acabamos de criar uma nova branch para contribuir.

Nessa parte da alteração, você precisa tomar muita atenção quanto aos comandos e códigos que você irá desenvolver em torno do projeto, vamos evitar qualquer tipo de erro para que tenhamos sucesso no PR 😃

Hora de abrir o Pull request

Feita as alterações no projeto, é a hora de criar o pull request e ver se o proprietário do repositório/projeto aprova nossa correção. Logo no topo da página existe a guia de pull request, basta clicar e prosseguir com as orientações.

Por boas práticas adicionamos algum comentário no pull request para que a pessoa visualize e veja o que estamos propondo para o projeto. Legal de citar também que sempre é bom usar o idioma inglês, facilita demais o processo…
Pode escrever algo como sendo:

Hey repo owner!

I have added a new feature on Ansible topic (inventory component), I think that will increase the understand of all people on this topic about Ansible tool. if I am wrong just ignore.

Let me know if you have any questions around this.

O que fazer depois do Pull request?

É a hora de se sentir feliz, afinal, você acabou de concluir o fluxo de contribuição de um projeto Open-Source. Agora encontre outros projetos e faça mais algumas contribuições.

Finalizando

Acho que cobri boa parte do processo de contribuir com um projeto Open-Source, acredito que estes passos deverá ajudar você na sua jornada dentro dos projetos no Github.

Agradeço demais a sua leitura, se você tiver qualquer dúvida em torno disso, melhoria ou simplesmente não concorda com algum tópico, comente abaixo e vamos conversar melhor. Te vejo no próximo artigo e boa contribuição. ⚡️

Valew demais turma! 🚀

Sign up to discover human stories that deepen your understanding of the world.

--

--

DevOps from Zero!💻
DevOps from Zero!💻

Written by DevOps from Zero!💻

SRE/DevOps Engineer| Lifelong learner | Medium Creator | AWS/Azure certified☁️ | Hashicorp Ambassador | Containers | Tech | Community | Coffee

No responses yet

Write a response