SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
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.

Mais conteúdo relacionado

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

Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágilClaudia Melo
 
Controle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareControle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareGilmar Pupo
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!Vitor Silva
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de ConfiguraçãoWagner Zaparoli
 
Porque usar um sistema de controle de versão distribuído como GIT?
Porque usar um sistema de controle de versão distribuído como GIT?Porque usar um sistema de controle de versão distribuído como GIT?
Porque usar um sistema de controle de versão distribuído como GIT?William Seiti Mizuta
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
utilitários de linha de comando bonitos em python
utilitários de linha de comando bonitos em pythonutilitários de linha de comando bonitos em python
utilitários de linha de comando bonitos em pythontdc-globalcode
 
Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Jonathan Célio
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Giovanni Bassi
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao gitDiogo Gomes
 
workshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdfworkshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdfAuriceliaRosa
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitBruno Ricardo Siqueira
 

Semelhante a Versionamento de código em UiPath: Um guia prático.pdf (20)

Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágil
 
Introdução ao git e github
Introdução ao git e githubIntrodução ao git e github
Introdução ao git e github
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
Controle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de softwareControle de versões distribuído para projetos de software
Controle de versões distribuído para projetos de software
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Git
GitGit
Git
 
Git + Github
Git + GithubGit + Github
Git + Github
 
BlingTech - Gitlab
BlingTech - GitlabBlingTech - Gitlab
BlingTech - Gitlab
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 
Porque usar um sistema de controle de versão distribuído como GIT?
Porque usar um sistema de controle de versão distribuído como GIT?Porque usar um sistema de controle de versão distribuído como GIT?
Porque usar um sistema de controle de versão distribuído como GIT?
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
utilitários de linha de comando bonitos em python
utilitários de linha de comando bonitos em pythonutilitários de linha de comando bonitos em python
utilitários de linha de comando bonitos em python
 
Git - Conceitos
Git - ConceitosGit - Conceitos
Git - Conceitos
 
Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
workshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdfworkshopgitparainiciantes1-190901224755.pdf
workshopgitparainiciantes1-190901224755.pdf
 
Fluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando GitFluxo de desenvolvimento de software utilizando Git
Fluxo de desenvolvimento de software utilizando Git
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 

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

  • 1. Versionamento de Código em UiPath: Um Guia prático Samuel Simão
  • 2. 2 Desenvolvedor RPA UiARD UiPath samuelsimao47@gmail.com Samuel Simão Palestrante
  • 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
  • 5. 1. A importância do versionamento
  • 6. 6 O que é versionar?
  • 7. 7 O que é versionar? • Salvar “fotografias” do projeto • Gerenciar evolução do código
  • 9. 9 Benefícios do Versionamento • Rastreabilidade • Histórico detalhado • Código salvo em nuvem • Segurança do projeto • Colaboração eficaz
  • 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
  • 19. 20 Outras Opções • Azure DevOps • SourceForge • Cloud Source Repositories da Google
  • 20. 21 Daqui pra frente, todos os conceitos serão baseados em Git e GitHub
  • 21. 3. Conceitos e fundamentos
  • 23. 24 Repositórios Onde o código é armazenado e gerido
  • 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
  • 33. 34 Push e Pull Sincronizar repositó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
  • 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
  • 41. 42 Pull Request Unir branches com revisão e autorização
  • 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
  • 44. 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
  • 45. 4. Configurar o ambiente UiPath
  • 46. 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
  • 47. 48 Visão do GitHub • Criar conta • Repositório do VS Code
  • 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.