
Recentemente foi lançado no Orkut o aplicativo “Olimpíada do Conhecimento”, feito em parceria entre a Dito Internet e a 5clicks, a partir de uma iniciativa da GLOBO Minas, SESI, SENAI e FIEMG. Com uma execução em tempo recorde, o aplicativo está sendo motivo de muito orgulho para nós, da Dito.
Para quem não sabe, aplicativos para o Orkut são feitos utilizando OpenSocial, API desenvolvida pela Google para centralizar a produção de aplicativos para redes sociais. Se você possui uma conta no Orkut, para instalar o “Olimpíada do Conhecimento” basta clicar aqui.
O “Olimpíada do Conhecimento”, além de divulgar o evento homônimo promovido pelo SESI e SENAI, serve como uma disputa saudável online, com o objetivo de descobrir quem sabe mais sobre diversos temas, desde conhecimentos gerais a astronomia! Todo participante tem o direito de enviar suas próprias perguntas e ganha pontos pela aprovação da mesma. O resultado foi um sucesso: com apenas 2 dias no ar, mais de 400 perguntas foram aprovadas e a disputa pelo primeiro lugar no ranking estava bem acirrada.
As equipes desenvolvedoras tiveram um ótimo desempenho, conseguiram fazer – em um prazo apertado – um trabalho de excelente qualidade. Parabéns à Dito e à 5clicks! E não se esqueçam de instalar o “Olimpíada do Conhecimento” e concorrer pelo primeiro lugar do ranking!
Há várias formas para começar usar um servidor git. Dentre elas podemos citar:
É possível apenas instalar o git em um servidor e colocar os repositórios em pastas públicas do servidor.
Outra possibilidade é hospedar utilizando algum serviço web como por exemplo github e o gitorious
O Gitorious pode ser instalado em um servidor próprio como mostrado no tutorial do Akita
Outro modo bem rápido de se instalar o servidor git, utilizando ssh é através do Gitosis.
Segui o tutorial em http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way e não tive problemas na instalação. E é este artigo que segui como base para fazer este post.
Fiz a instalação no ubuntu e o que fiz foi:
Primeiramente voce deve ter o git instalado no seu servidor. Caso não tenha basta utilizar o apt para instalar
sudo apt-get install git-core
Após instalado o git, deve-se baixar o gitosis.
git clone git://eagain.net/gitosis.git
Depois de baixar o gitosis deve-se instalá-lo, para isto:
cd gitosis
python setup.py install
Caso receba uma mensagem como:
-bash: python: command not found
ou
Traceback (most recent call last):
File "setup.py", line 2, in ?
from setuptools import setup, find_packages
ImportError: No module named setuptools
Estas mensagens ocorrem porque voce não tem o pacote python-setuptools instalado. Para instalá-los basta:
sudo apt-get install python-setuptools
Após instalado o pacote python-setuptools execute a instalação do gitosis novamente.
Com o gitosis instalado, agora voce deve criar um usuário para o git. O usuário que o autor recomenda é o usuário git, sem password válido, e ele pode ser criado com o comando:
sudo adduser \
--system \
--shell /bin/sh \
--gecos 'git version control' \
--group \
--disabled-password \
--home /home/git \
git
Se a criação do usuário foi feita com sucesso, deve aparecer algo como:
Adding system user `git'...
Adding new group `git' (211).
Adding new user `git' (211) with group `git'.
Creating home directory `/home/git'.
Após criado o usuário no servidor, é necessário criar uma chave rsa no seu computador. Para isto utilizamos o ssh-keygen e o comando para criar uma chave rsa é (digitado no seu computador):
ssh-keygen -t rsa
Após executado o comando a chave pública e privada são criadas em ~/.ssh
Para copiar a chave gerada para o servidor podemos utilizar o comando abaixo:
scp .ssh/id_rsa.pub git@ENDERECO DO SERVIDOR:/tmp
No servidor, para iniciar o servidor basta digitar:
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
É necessário ter permissão no arquivo post-update, portanto digite:
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
Agora em sua máquina execute:
git clone git@ENDEREÇO DO SERVIDOR:gitosis-admin.git
cd gitosis-admin
No diretório gitosis-admin haverá um arquivo chamado gitosis.conf que será utilizado para a configuração do gitosis.
Adicionando um novo projeto
Para se adicionar um novo projeto adicione as linhas no gitosis.conf com as informações do seu novo projeto:
[group meu_time]
members = nome_do_usuario
writable = nome_novo_projeto
Deste modo, voce criará permissão para o usuário no seu novo projeto
Após alterado o arquivo gitosis.conf dê commit nele para o servidor:
git commit -a -m "Permissão de acesso ao novo projeto para o usuário"
git push
Agora deve-se criar o repositório e enviá-lo:
mkdir nome_novo_projeto
cd nome_novo_projeto
git init
git remote add origin git@NOME_SERVIDOR:nome_novo_projeto.git
#Adicione arquivos e dê commits (git add, git commit)
git push origin master:refs/heads/master
Adicionando usuários
Para adicionar usuários, deve-se copiar as chaves públicas para o diretório gitosis-admin/keydir
cd gitosis-adimn
cp ~/jose.pub keydir/
cp ~/maria.pub keydir/
git add keydir/jose.pub keydir/maria.pub
no arquivo gitosis.conf adicione:
[group meu_time]
members = nome_do_usuario maria joao
writable = novo_projeto
Dê commit e push:
git commit -a -m "Adicionar permissão à Maria e João ao novo projeto"
Agora Maria e João têm acesso ao novo_projeto.
No windows:
Para adicionar as chaves no windows, criei as chaves utilizando o ssh-keygen no mac
(Lembre-se que ao gerar a chave em outro computador, voce deve editar a chave pública e alterar o usuário pois a chave será gerada para o usuário que está logado no computador que a chave for gerada)
ssh-keygen -t dsa -f
Depois copie para a pasta “c:\Documents and Settings\\.ssh” com os nomes “id_dsa” e “id_dsa.pub”
Utilizando o ssh em outras portas
Para se utilizar o ssh em outras portas deve-se alterar o arquivo ~/.ssh/config
Host meuservidor.com
Port 1234
Muito interessante esse post do Guilherme Chapiewski sobre a adoção do Scrum na globo.com. Aqui na Dito, apesar de termos uma equipe pequena sempre tentamos adotar algumas práticas do XP e agora pretendemos soma-las as práticas do Scrum para produzir software com cada vez mais qualidade. Graças ao TDD já conseguimos lançar 5 releases do Baú de Arquivos esse ano e faz uns 4 meses que nenhuma falha é reportada.
Já estou montando o Product Backlog com todas as novas funcionalidades que queremos implementar no Baú. O mais legal é que a maioria delas são sugestões dos próprios usuários.
Quem tiver boas referências de Scrum para leitura e quiser ajudar por favor deixe nos comentários.