Versionamento de
Código em UiPath:
Um Guia prático
Samuel Simão
2
Desenvolvedor RPA UiARD UiPath
samuelsimao47@gmail.com
Samuel Simão
Palestrante
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
“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
1. A importância do
versionamento
6
O que é versionar?
7
O que é
versionar?
• Salvar “fotografias” do projeto
• Gerenciar evolução do código
8
Benefícios do Versionamento
9
Benefícios do
Versionamento
• Rastreabilidade
• Histórico detalhado
• Código salvo em nuvem
• Segurança do projeto
• Colaboração eficaz
2. Ferramentas
11
Softwares de versionamento
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
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
14
Repositórios remotos
16
Repositórios remotos
17
GitHub
• O mais popular entre
desenvolvedores
• Comunidade muito
ativa
• Ideal para projetos de
código aberto
Repositórios remotos
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
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
20
Outras Opções
• Azure DevOps
• SourceForge
• Cloud Source Repositories da
Google
21
Daqui pra frente, todos os conceitos serão
baseados em Git e GitHub
3. Conceitos e fundamentos
23
Fundamentos
24
Repositórios
Onde o código é armazenado e gerido
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
Commits
Versões do projeto
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ê
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
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
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
Staging
Uma área antes do commit
32
staging
• Área intermediária para revisão e
organização de alterações antes
do commit.
LoginAcme.xaml
CriaItemNaFila.xaml
GeraCodigoSHA1.xaml
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
34
Push e Pull
Sincronizar repositórios remoto e local
35
Push e Pull
• Push: Enviar mudanças ao
repositório remoto
36
Push e Pull
• Pull: Atualizar local com
mudanças remotas
37
Branch
Ramificações paralelas do projeto
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
Merge
Unir branches
40
Merge
• Combina mudanças de branches
diferentes
Geração do
Código SHA1
Refatoração dos
seletores do login
Teste Login
Acme
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
Pull Request
Unir branches com revisão e autorização
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
44
Comandos
45
Comandos
• https://www.freecodecamp.org/por
tuguese/news/10-comandos-do-
git-que-todo-desenvolvedor-
deveria-conhecer/
• git status
• git add .
• git commit –m “mensagem”
• git push
• git pull
• git branch
• etc
4. Configurar o ambiente
UiPath
47
Instalação e
configuração
• Git download: https://git-
scm.com/downloads
• Configuração:
https://www.youtube.com/watch?v
=Am46OOLgV4s
• git config --global user.name
“YOUR_GITHUB_USER“
• git config --global user.email
“YOUR_LOGGED_EMAIL"
Confirme a
instalação com o
comando git no
terminal
48
Visão do GitHub
• Criar conta
• Repositório do VS Code
5. Boas práticas
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!
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
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
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.

Versionamento de código em UiPath: Um guia prático.pdf

  • 1.
    Versionamento de Código emUiPath: Um Guia prático Samuel Simão
  • 2.
    2 Desenvolvedor RPA UiARDUiPath samuelsimao47@gmail.com Samuel Simão Palestrante
  • 3.
    3 1. A Importânciado Versionamento 2. Ferramentas 3. Conceitos e fundamentos 4. Configurar o Ambiente com UiPath 5. Boas Práticas Agenda Slide
  • 4.
    4 “Qualquer projeto desoftware suficientemente avançado necessita de um sistema de controle de versão para gerenciar a colaboração e o progresso.” Martin Fowler
  • 5.
    1. A importânciado versionamento
  • 6.
    6 O que éversionar?
  • 7.
    7 O que é versionar? •Salvar “fotografias” do projeto • Gerenciar evolução do código
  • 8.
  • 9.
    9 Benefícios do Versionamento • Rastreabilidade •Histórico detalhado • Código salvo em nuvem • Segurança do projeto • Colaboração eficaz
  • 10.
  • 11.
  • 12.
    12 Git • Criado porLinus 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 maisantigas 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
  • 14.
  • 15.
  • 16.
    17 GitHub • O maispopular entre desenvolvedores • Comunidade muito ativa • Ideal para projetos de código aberto Repositórios remotos
  • 17.
    18 GitHub • O maispopular 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 maispopular 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
  • 19.
    20 Outras Opções • AzureDevOps • SourceForge • Cloud Source Repositories da Google
  • 20.
    21 Daqui pra frente,todos os conceitos serão baseados em Git e GitHub
  • 21.
    3. Conceitos efundamentos
  • 22.
  • 23.
    24 Repositórios Onde o códigoé armazenado e gerido
  • 24.
    25 Repositórios • local quearmazena o código fonte • Repositório x Pasta do Sistema • Sincronização é feita manualmente Remoto: Na nuvem Local: No seu computador
  • 25.
  • 26.
    27 Commits • Versão dosarquivos 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 dosarquivos 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 dosarquivos 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 dosarquivos 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
  • 30.
  • 31.
    32 staging • Área intermediáriapara revisão e organização de alterações antes do commit. LoginAcme.xaml CriaItemNaFila.xaml GeraCodigoSHA1.xaml
  • 32.
    33 staging • Área intermediáriapara revisão e organização de alterações antes do commit. LoginAcme.xaml CriaItemNaFila.xaml GeraCodigoSHA1.xaml Área de stage Commit
  • 33.
    34 Push e Pull Sincronizarrepositórios remoto e local
  • 34.
    35 Push e Pull •Push: Enviar mudanças ao repositório remoto
  • 35.
    36 Push e Pull •Pull: Atualizar local com mudanças remotas
  • 36.
  • 37.
    38 Branch • Versões paralelasdo código • Isola novas funcionalidades ou correções Geração do Código SHA1 Refatoração dos seletores do login Teste Login Acme
  • 38.
  • 39.
    40 Merge • Combina mudançasde branches diferentes Geração do Código SHA1 Refatoração dos seletores do login Teste Login Acme
  • 40.
    41 Merge • Combina mudançasde branches diferentes • Pode resultar em conflitos de merge Geração do Código SHA1 Refatoração dos seletores do login Teste Login Acme
  • 41.
    42 Pull Request Unir branchescom revisão e autorização
  • 42.
    43 Pull Request • Solicitaintegraçã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
  • 43.
  • 44.
    45 Comandos • https://www.freecodecamp.org/por tuguese/news/10-comandos-do- git-que-todo-desenvolvedor- deveria-conhecer/ • gitstatus • git add . • git commit –m “mensagem” • git push • git pull • git branch • etc
  • 45.
    4. Configurar oambiente UiPath
  • 46.
    47 Instalação e configuração • Gitdownload: https://git- scm.com/downloads • Configuração: https://www.youtube.com/watch?v =Am46OOLgV4s • git config --global user.name “YOUR_GITHUB_USER“ • git config --global user.email “YOUR_LOGGED_EMAIL" Confirme a instalação com o comando git no terminal
  • 47.
    48 Visão do GitHub •Criar conta • Repositório do VS Code
  • 48.
  • 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 • Tenhaum 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.