Versionar o código é uma prática essencial em qualquer software moderno. Isso não é diferente quando falamos de RPA. Nesta apresentação destinada a desenvolvedores UiPath, de iniciantes a avançados, será explorado o poder do versionamento de código para elevar seus projetos de automação a um novo patamar.
Nesta sessão de 1 hora, vamos mergulhar no mundo do versionamento de código, começando com os conceitos básicos, como commits, branches e repositórios, até estratégias avançadas para gerenciar seu código de forma eficiente e colaborativa. Aprenda a configurar seu ambiente UiPath com Git, adote boas práticas de versionamento e descubra como gerenciar o trabalho em equipe de forma harmoniosa.
Se você deseja melhorar a colaboração em seus projetos, garantir a qualidade do código e facilitar a gestão de versões, essa apresentação é para você. Prepare-se para ganhar insights valiosos que transformarão sua abordagem ao desenvolvimento de automações RPA.
👉 Sobre o palestrante:
Samuel Simão é um profissional certificado UiARD com 2 anos de experiência em UiPath e pouco mais de 1 ano em Document Understanding. Além disso, ele é técnico em Eletrônica, graduando em Sistemas de Informação e também foi finalista na maior feira de ciências nível Ensino Médio do mundo, a Regeneron ISEF 2022.
Conecte-se com o Samuel em suas redes sociais:
LinkedIn: https://www.linkedin.com/in/samuelsimao47
👉 Sobre a host:
Bruna Cavalcanti é graduada em Análise e Desenvolvimento de Sistemas pelo Instituto Federal de São Paulo Câmpus Cubatão (IFSP) e Pós-graduada em Inteligência Artificial e Big Data pelo Instituto de Ciências Matemáticas e de Computação da Universidade de São Paulo (ICMC-USP), Bruna soma 4 anos de experiência em Software Automation e em 2023 foi nomeada UiPath MVP, tornando-se a 1ª mulher da América Latina a conquistar o título. Além disso, Bruna é líder da UiPath Community Chapter São Paulo e palestrante. Em 2024, Bruna foi nomeada UiPath MVP pelo 2º ano consecutivo, no palco do evento UiPath DevCon 2024 ocorrido na Índia.
Conecte-se com a Bruna em suas redes sociais:
LinkedIn: https://www.linkedin.com/in/brucavalcanti/
3. 3
1. A Importância do Versionamento
2. Ferramentas
3. Conceitos e fundamentos
4. Configurar o Ambiente com UiPath
5. Boas Práticas
Agenda Slide
4. 4
“Qualquer projeto de software suficientemente
avançado necessita de um sistema de controle de
versão para gerenciar a colaboração e o
progresso.”
Martin Fowler
12. 12
Git
• Criado por Linus Torvalds em
2005 para o desenvolvimento do
kernel do Linux.
• Controle de versão distribuído,
não depende de um servidor
central.
• Ótimo para desenvolvimento não
linear (várias branches)
13. 13
CVS
Uma das mais antigas
do mercado, desde
1968.
Não é muito utilizado
hoje em dia.
SVN
Sistema de controle de
versão centralizado,
desenvolvido pela
Apache
Empresas com políticas
rígidas de controle de
acesso
TFS
Sistema da Microsoft.
Boa pipeline de CI/CD.
Integração ótima com
ferramentas Microsoft
como Azure DevOps
Outros softwares de versionamento
16. 17
GitHub
• O mais popular entre
desenvolvedores
• Comunidade muito
ativa
• Ideal para projetos de
código aberto
Repositórios remotos
17. 18
GitHub
• O mais popular entre
desenvolvedores
• Comunidade muito
ativa
• Ideal para projetos de
código aberto
GitLab
• Popular entre
empresas
• Open-Source
• Possui solução
completa de DevOps
integrada
Repositórios remotos
18. 19
GitHub
• O mais popular entre
desenvolvedores
• Comunidade muito
ativa
• Ideal para projetos de
código aberto
GitLab
• Popular entre
empresas
• Open-Source
• Possui solução
completa de DevOps
integrada
BitBucket
• Preferido por já clientes
da Atlassian
• Integração com Jira,
Confluence, Trello
Repositórios remotos
24. 25
Repositórios
• local que armazena o código
fonte
• Repositório x Pasta do Sistema
• Sincronização é feita
manualmente
Remoto: Na nuvem
Local: No seu computador
26. 27
Commits
• Versão dos arquivos salvos no
repositório
• "Fotografia" do seu projeto
• Possui uma descrição que
documenta o que mudou e por
quê
27. 28
Commits
• Versão dos arquivos salvos no
repositório
• "Fotografia" do seu projeto
• Possui uma descrição que
documenta o que mudou e por
quê
Login no
sistema Acme
28. 29
Commits
• Versão dos arquivos salvos no
repositório
• "Fotografia" do seu projeto
• Possui uma descrição que
documenta o que mudou e por
quê
Login no
sistema Acme
Criação dos
Itens na fila
29. 30
Commits
• Versão dos arquivos salvos no
repositório
• "Fotografia" do seu projeto
• Possui uma descrição que
documenta o que mudou e por
quê
Login no
sistema Acme
Criação dos
Itens na fila
Geração do
Código SHA1
31. 32
staging
• Área intermediária para revisão e
organização de alterações antes
do commit.
LoginAcme.xaml
CriaItemNaFila.xaml
GeraCodigoSHA1.xaml
32. 33
staging
• Área intermediária para revisão e
organização de alterações antes
do commit.
LoginAcme.xaml CriaItemNaFila.xaml
GeraCodigoSHA1.xaml
Área de stage Commit
37. 38
Branch
• Versões paralelas do código
• Isola novas funcionalidades ou
correções
Geração do
Código SHA1
Refatoração dos
seletores do login
Teste Login
Acme
39. 40
Merge
• Combina mudanças de branches
diferentes
Geração do
Código SHA1
Refatoração dos
seletores do login
Teste Login
Acme
40. 41
Merge
• Combina mudanças de branches
diferentes
• Pode resultar em conflitos de
merge
Geração do
Código SHA1
Refatoração dos
seletores do login
Teste Login
Acme
42. 43
Pull Request
• Solicita integração de mudanças
• Facilita revisões de código
Commits na
main
Commits na
minha branch
Tech Lead, pode revisar
e adicionar minhas mudanças?
PR
49. 54
Commits
• Commits atômicos
• Tenha um padrão de mensagem
para o time
• Faça a mensagem identificável
• Mantenha a mensagem pequena
Peque pelo excesso de commits,
não pela falta deles!
50. 55
Nomenclaturas de
branches
• Tenha um padrão para o time
• Faça a mensagem identificável
• Mantenha a mensagem pequena
feature/novo-login
bugfix/correcao-de-login
51. 56
Em equipe
• Comunicação
• Planejar bem as funcionalidades
de cada um
• Evite trabalhar no mesmo
workflow que outro colega
Merge com –X theirs ou –X ours
52. 57
Referências
CÓDIGO FONTE TV. Git // Dicionário do Programador. YouTube, 27 mai. 2019. Disponível em:
https://www.youtube.com/watch?v=za5KWZ5pRag. Acesso em: 14 fev. 2024.
CURSO EM VÍDEO. O que é Git? O que é versionamento? - Curso de Git e GitHub. YouTube, 26 mar. 2020. Disponível em:
https://www.youtube.com/watch?v=xEKo29OWILE&list=PLHz_AreHm4dm7ZULPAmadvNhH6vk9oNZA. Acesso em: 14 fev. 2024
GAEA. Conheça 5 ferramentas de controle de versão de software. Gaea. Disponível em: https://gaea.com.br/conheca-5-ferramentas-de-
controle-de-versao-de-software/. Acesso em: 13 fev. 2024.
DELUCA, Cristina. GitHub vs Bitbucket vs GitLab: Uma batalha épica pelo mindshare desenvolvedor. IT Forum. Disponível em:
https://itforum.com.br/noticias/github-vs-bitbucket-vs-gitlab-uma-batalha-epica-pelo-mindshare-desenvolvedor/. Acesso em: 23 fev. 2024.
UIPATH. Managing Projects With GIT. Docs UiPath. Disponível em: https://docs.uipath.com/studio/standalone/2023.4/user-
guide/managing-projects-git. Acesso em: 23 fev. 2024
DUARTE, Jean. Introdução à estrategias de Branching em projetos. Medium. Disponível em: https://medium.com/@jean-
duarte/introdu%C3%A7%C3%A3o-%C3%A0-estrategias-de-branching-em-projetos-e8837de37a39. Acesso em: 14 fev. 2024.