SlideShare uma empresa Scribd logo
1 de 77
Bazaar
Apresentação Técnica
Gerência de Configuração
Bruno Furtado <brunofurtadoc@gmail.com>
Gerbson Lima <gerbson.lima@gmail.com>
Paula Santos <anapaulasantos.es@gmail.com>
Rhonan Carneiro <rhonanc@gmail.com>
O que é o Bazaar?
•  Sistema de controle de versão:
o  Centralizado;
o  Distribuído;
•  Desenvolvido pela
•  Escrito em
•  Distribuição para:
• Lançado em 2005 por Martin Pool.
Quem está usando
Workflows
Posso trabalhar sozinho!
• Baixa administração
• Facilidade de uso
Posso trabalhar com um
parceiro!
Não é necessário configurar servidor
Workflow – Centralizado
Workflow – Centralizado
Workflow – Centralizado
Workflow – Centralizado
Workflow – Centralizado
Workflow - Centralizado com
commits locais
http://wiki.bazaar.canonical.com/Workflows
Workflow - Descentralizado,
com gatekeeper humano
Workflow - Descentralizado,
com gatekeeper humano
Workflow - Descentralizado,
com gatekeeper humano
Workflow - Descentralizado,
com gatekeeper humano
Workflow - Descentralizado,
com gatekeeper humano
Workflow - Descentralizado
com gatekeeper automático
http://wiki.bazaar.canonical.com/Workflows
Suporta vários protocolos
http://doc.bazaar.canonical.com/bzr.2.5/en/user-guide/
branching_a_project.html
Vantagens do Bazaar
•  Excelente Documentação:
http://doc.bazaar.canonical.com/bzr.2.5/en/
•  Flexível
•  Diferentes Workflows
•  Projetos individuais
•  Erros acontecem
Desvantagens Bazaar
•  Lento para projetos grandes.
•  Configuração dos servidores é complexa.
Quais as diferenças com outros
Sistemas de Controle de Versão?
Projeto
Implementação
Desempenho
Base de Usuário e Plataforma
Fácil Gerenciamento de
Usuários
• X Subversion
• X Mercurial
• O Git
• X Bazaar
Segurança SSH
• X Subversion
• X Mercurial
• X Git
• X Bazaar
Níveis de permissão de
pasta
• X Subversion
• O Mercurial
• O Git
• O Bazaar
Integração a IDE’s
• X Subversion
• X Mercurial
• O Bazaar
Colocando a mão na
massa!
Instalando Bazaar no
Linux
Bem simples:
> sudo apt-get install bzr
Pronto, já pode começar a usar.
Instalando no Mac Os X
Instale Homebrew:
http://mxcl.github.io/homebrew/
Instale o Bazaar:
brew install bzr
Pronto, já pode começar a usar! :)
Instalando no Windows
• Baixar o executável Standalone em:
http://wiki.bazaar.canonical.com/
WindowsDownloads
Next ...-> Finalize
Outras instalações
http://wiki.bazaar.canonical.com/Download
Comandos Básicos do
Bazaar
bzr init > inicia um repositório
bzr branch > cria um branch
bzr add > adiciona arquivos ao repositório
bzr status > exibe as mudanças do branch
atual
bzr merge > envia as mudanças para outro
branch
bzr commit > salva as mudanças
bzr log > exibe o histórico de mudanças
Criando um Repositório
$ mkdir meuprimeiroprojeto
$ cd meuprimeiroprojeto/
$ bzr init
Created a standalone tree (format: 2a)
$ ...
Repositório criado! :)
Esqueceu os comandos?
Lista todos os comandos:
bruno-macbook:meuprimeiroprojeto bruno$ bzr
Esqueceu os parâmetros
de um comando?
Exibe a ajuda do comando:
bruno-macbook:meuprimeiroprojeto bruno$ bzr help <comando>
Identifique-se
•  Antes de realizar qualquer commit ou
qualquer ação que irá alterar o projeto, é
necessário que usuário se indentifique.
•  No bazaar, é simples:
$ bzr whoami "Seu Nome <Email>"
Ex:
$ bzr whoami "Bruno Furtado <brunofurtadoc@gmail.com>"
$ bzr whoami // para verificar usuário atual
Bruno Furtado <brunofurtadoc@gmail.com>
Primeiro Commit
$ echo "Descrição do Meu Primeiro Projeto utilizando
Bazaar" > README.txt
$ bzr add README.txt
adding README.txt
$ bzr status
added:
README.txt
$ bzr commit -m "Meu primeiro commit"
Committing to: ~/meusprojetos/meuprimeiroprojeto/
added README.txt
Committed revision 1.
$ ...
Pronto? Só isso?
Sim. Seu arquivo já foi adicionado e está
versionado.
Realizando mais
mudanças
$ vim README.txt
$ echo "Preciso de uma descrição melhor" >> README.txt
$ bzr status
modified:
README.txt
$ bzr commit -m "Meu primeiro commit"
Committing to: ~/meusprojetos/meuprimeiroprojeto/
added README.txt
Committed revision 1.
$ ...
Apaguei um arquivo ou fiz uma
modificação que não era pra fazer,
como voltar?
$ ls
README.txt
$ rm README.txt
$ ls
$ bzr revert
N README.txt
$ ls
README.txt
$ cat README.txt
Descrição do Meu Primeiro Projeto utilizando Bazaar
Preciso de uma descrição melhor
$ ...
Criando branchs
$ bzr branch FROM TO
$ bzr branch ./ ../meuprimeiroprojeto_branch
Branched 2 revisions.
$ cd ../meuprimeiroprojeto_branch/
$ ls
README.txt
$ ls
README.txt
$ bzr log
$ ...
Fazendo mais
modificações
$ echo "Fazendo modificações no meu branch" >> README.txt
$ cat README.txt
Descrição do Meu Primeiro Projeto utilizando Bazaar
Preciso de uma descrição melhor
Fazendo modificações no meu branch
$ bzr commit -m "Modificações no branch"
Committing to: ./meuprimeiroprojeto_branch/
modified README.txt
Committed revision 3.
$ ..
Como enviar as modificações de
um branch para outro?
$ bzr push :parent
All changes applied successfully.
Pushed up to revision 3.
$ ...
:parent indica que as modificações serão enviadas para o ramo pai
do branch atual.
é possível trocar :parent por um branch especifico local ou não.
Como enviar as modificações de
um branch pro outro?
para saber quem é o pai do branch atual, você pode
utilizar o seguinte comando:
$ bzr info
Nice! Fiz o push mas o merge deu
merds? #comofaz?
$bzr resolve
Fiz um commit errado.
#comoquetira ?
$bzr uncommit
Ignorando arquivos
http://doc.bazaar.canonical.com/bzr.2.5/en/
user-guide/controlling_registration.html
Qual a diferença do
branch Git e no Bazaar
•  Cada novo branch no bazaar fica em uma
nova pasta.
•  Os branchs no bazaar, diferentemente do
git, armazenam toda a informação do
repositório.
•  ...
Configurando Servidor
Existem diversas formas de você compartilhar
seu repositório:
•  FTP
•  SFTP
•  SSH
•  Dropbox (http://marcioandreyoliveira.blogspot.com.br/2009/05/get-your-own-bazaar-hosting-service-for.html)
•  Serviços de Hospedagens (ex: Launchpad)
Hospedagens de Bazaar
http://wiki.bazaar.canonical.com/
Hosting
Registrando-se no
Launchpad
•  Criar um email (OK ?!)
•  Criar uma chave ssh
•  Criar uma chave gpg
http://wiki.ubuntu-br.org/AssinarCodigoDeConduta
•  Criar uma conta no Launchpad
http://launchpad.net/
•  Importar chaves
•  Assinar termo de conduta
Duvidas?
Referências
•  h"p://doc.bazaar.canonical.com/bzr.2.5/en/_sta8c/en/bzr-­‐en-­‐quick-­‐reference.pdf	
  
•  h"p://doc.bazaar.canonical.com/bzr.2.5/en/user-­‐guide/branching_a_project.html	
  
•  h"p://doc.bazaar.canonical.com/bzr.2.5/en/	
  
•  h"p://www.javaworld.com/javaworld/jw-­‐09-­‐2007/jw-­‐09-­‐versioncontrol.html?page=4	
  
•  h"p://marcioandreyoliveira.blogspot.com.br/2009/05/get-­‐your-­‐own-­‐bazaar-­‐hos8ng-­‐service-­‐for.html	
  
•  h"p://thadeusb.com/weblog/2009/3/15/svn_vs_hg_vs_git_vs_bzr	
  
Exercício
Exercício 01: Você está participando do processo seletivo
da empresa QSoftware, uma nova empresa de software
do Sertão Central. A vaga almejada é a de Gerente de
Configuração. Durante este processo você deverá realizar
algumas atividades, pelas quais estará sendo avaliado. As
atividades serão desenvolvidas utilizando a ferramenta
Bazaar.
Então, desejamos a todos Boa Sorte, e vamos as atividades:
Exercício
Crie um novo repositório
para o projeto
Exercício
Identifique seu usuário para
acesso as funcionalidades de
controle de versão. Tenha certeza
que está identificado.
Exercício
Adicione o arquivo requisitos.txt
com no mínimo dois os requisitos para
o aplicativo e faça um commit.
Exercício
Novos requisitos foram identificados. É
preciso adicioná-los ao documento de
requisitos e dar um novo commit.
Antes de realizar o commit verifique o que
foi alterado no documento;
Exercício
Adicione ao repositório o
documento de casos de uso,
casos_de_uso.txt
Exercício
Ops!!, o analista de requisitos fez uma confusão!
O documento entregue não é de casos de uso
mas de histórias do usuário!
Desfaça o último commit.
Renome o arquivo casos_de_uso.txt para
historias_de_usuario.txt.
Realize novo commit com a atualização.
Exercício
Para realizar as alterações no documento
de requisitos.
o Crie um novo ramo para o projeto.
o Neste Ramo, realize a modificações:
§ Exclua o requisito RF01;
§ Adicione dois requisitos;
§ Realize o commit.
Exercício
• A nova versão do documentos de requisitos
foi validado.
• Envie as informações do ramo
secundário para o ramo principal do projeto.
Tarefa de Casa
Tarefa de Casa
• Crie uma conta no launchpad;
• Crie um projeto no launchpad;
• Neste projeto efetue as mesma atividades
realizadas no exercício feito em sala de aula.
• Links:
https://launchpad.net/
https://help.launchpad.net/YourAccount/
CreatingAnSSHKeyPair

Mais conteúdo relacionado

Semelhante a Gerenciamento de Configuração com Bazaar

Processo de desenvolvimento na samba
Processo de desenvolvimento na sambaProcesso de desenvolvimento na samba
Processo de desenvolvimento na sambajoaogmaciel
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucketMarcio Barbosa
 
QCon 2019 - Kubernetes Deepdive
QCon 2019 -  Kubernetes DeepdiveQCon 2019 -  Kubernetes Deepdive
QCon 2019 - Kubernetes DeepdiveRicardo Katz
 
git fail --force (faça as pazes com seus pull requests)
git fail --force (faça as pazes com seus pull requests)git fail --force (faça as pazes com seus pull requests)
git fail --force (faça as pazes com seus pull requests)Carlos Duarte do Nascimento
 
[4Soft] Git para iniciantes
[4Soft] Git para iniciantes[4Soft] Git para iniciantes
[4Soft] Git para iniciantes4Soft
 
Gitlab flow solo (pt-BR)
Gitlab flow solo (pt-BR)Gitlab flow solo (pt-BR)
Gitlab flow solo (pt-BR)viniciusban
 
Começando com Git
Começando com GitComeçando com Git
Começando com GitDaniel Costa
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPMarcelo Andrade
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoWilliam Lima
 
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...Jadson Santos
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta gitDiogo Souza Machado
 

Semelhante a Gerenciamento de Configuração com Bazaar (20)

Processo de desenvolvimento na samba
Processo de desenvolvimento na sambaProcesso de desenvolvimento na samba
Processo de desenvolvimento na samba
 
Git - Visão Geral
Git - Visão GeralGit - Visão Geral
Git - Visão Geral
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Git 101
Git 101Git 101
Git 101
 
Sendo um GIT master
Sendo um GIT masterSendo um GIT master
Sendo um GIT master
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucket
 
QCon 2019 - Kubernetes Deepdive
QCon 2019 -  Kubernetes DeepdiveQCon 2019 -  Kubernetes Deepdive
QCon 2019 - Kubernetes Deepdive
 
git fail --force (faça as pazes com seus pull requests)
git fail --force (faça as pazes com seus pull requests)git fail --force (faça as pazes com seus pull requests)
git fail --force (faça as pazes com seus pull requests)
 
[4Soft] Git para iniciantes
[4Soft] Git para iniciantes[4Soft] Git para iniciantes
[4Soft] Git para iniciantes
 
Gitlab flow solo (pt-BR)
Gitlab flow solo (pt-BR)Gitlab flow solo (pt-BR)
Gitlab flow solo (pt-BR)
 
Começando com Git
Começando com GitComeçando com Git
Começando com Git
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHP
 
Ferramenta git
Ferramenta gitFerramenta git
Ferramenta git
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...Mini curso gerenciamento de configuração e mudança com GIT + Eclipse  -  I...
Mini curso gerenciamento de configuração e mudança com GIT + Eclipse - I...
 
Introducao git fisl
Introducao git fislIntroducao git fisl
Introducao git fisl
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 

Gerenciamento de Configuração com Bazaar