Como realizar corretamente o gerenciamento do código-fonte?

Independentemente do tamanho do projeto, é altamente recomendável o uso de uma ferramenta de gerenciamento do código-fonte para rastrear as diferentes versões ao longo do tempo.

 

A segurança deve nortear a configuração do código-fonte

 

Um gerenciador de código-fonte é um software que permite armazenar todo o código-fonte e arquivos associados, mantendo uma cronologia de todas as alterações feitas. Um servidor FTP simples não é um gerenciador de código-fonte.

 

Configure o ambiente corretamente usando os recursos oferecidos pelo gerenciador de código-fonte escolhido. É recomendável configurar uma autenticação forte e/ou uma autenticação por chaves SSH desde o início do seu projeto.

 

Ademais, atribua aos usuários do gerenciador de código-fonte níveis de acesso ao seu projeto e defina as permissões correspondentes para cada nível (por exemplo, um nível “convidado” com direitos de leitura limitados, um nível “desenvolvedor” com direitos de gravação etc.).

 

Faça backups regulares do seu sistema de gerenciamento de código-fonte.  Em especial, considere fazer backup do servidor principal onde todas as modificações são registradas.

 

Implemente procedimentos de desenvolvimento para funcionar efetivamente, mesmo que várias pessoas estejam desenvolvendo ao mesmo tempo. Por exemplo, é possível decidir não trabalhar no mesmo branch (master), mas configurar branch por funcionalidade, que serão integrados ao principal à medida que o desenvolvimento prosseguir.

 

Tais estratégias de desenvolvimento já estão bem documentadas, por exemplo, no Git Flow. Além disso, alguns gerenciadores de código-fonte oferecem a configuração de branchs protegidas que impedem modificações não autorizadas nos arquivos contidos nessas branchs.

 

Tenha cuidado quanto ao conteúdo do seu código-fonte

 

Implemente ferramentas de métricas de qualidade de código para escanear o seu código a partir do seu commit para verificar a sua boa qualidade. É possível também adicionar scripts de controle dessas métricas na configuração do gerenciador de código-fonte: assim, o commit será cancelado se o código-fonte não tiver qualidade suficiente.

 

Os segredos e senhas devem ser mantidos fora do repositório de código-fonte. Caso seja necessário incluir os segredos e senhas no repositório, considere criptografar/descriptografar automaticamente os arquivos usando um plug-in do seu gerenciador de código-fonte, por exemplo gir-crypt.

 

Seja vigilante com o conteúdo do seu código-fonte em arquivos separados, que não foram objetos de um commit. Considere utilizar arquivos especiais do gerenciador do código-fonte, como .gitignore para Git, para não comprometer os arquivos sensíveis por engano.

 

Também é importante ter atenção com aqueles em variáveis de ambiente, tomando o cuidado de verificar que as variáveis de ambiente não serão acidentalmente escritas nos logs ou arquivos durante um erro da aplicação.

 

Tenha cuidado ao utilizar de software específicos de gestão secretos ou de gestão de configuração.

 

Depois de um commit que contenha os dados pessoais ou outros dados críticos, não se esqueça de limpar completamente o repositório de código-fonte. Mesmo depois da modificação, os dados podem ficar disponíveis no histórico.

 

Cuidado antes de publicar online o seu código-fonte. Revise todo o seu conteúdo para garantir que nenhum dado pessoal, senha ou outro segredo esteja presente, incluindo todo o histórico de modificações.

 

Enfim, se for preciso incluir os segredos e senhas no repositório, considere criptografar/descriptografar automaticamente os arquivos usando um plug-in do seu gerenciador de código-fonte, por exemplo git-crypt.

 

Exemplos de ferramentas

 

Diferentemente das ferramentas como o Subversion, que precisam de um servidor central para funcionar, os principais gerenciadores de código-fonte são descentralizados, como por exemplo Git e Mercurial.

 

Para a maioria dessas ferramentas, é oferecida uma interface web e as ferramentas adicionais como gerencialmente de bugs, wiki para sua documentação, etc. Essas soluções podem estar acessíveis na internet (GitHub, Bitbcucket, etc.) ou podem ser instaladas internamente nos servidores (GitLab).

 

Em conclusão, este texto procura tratar sobre as melhores práticas para gerenciamento de código-fonte de algum projeto de TI. Este artigo é uma iniciativa do Solere – Data Protection Compliance para esclarecer diversos temas relacionados à dados pessoais e a proteção deles. Somos especializados em direito empresarial e somos certificados Data Protection Officer (DPO) pelo Bureau Veritas. Conheça nossos serviços e veja como podemos ajudar a sua empresa se adequar à LGPD e não sofrer penalidades.

 

Imagem: Pexels

 

Gostou do conteúdo? Compartilhe!

POSTS RELACIONADOS

Fale conosco!