Gitosis: O que fazer quando se perde o acesso ao gitosis-admin

O Gitosis é um repositório git open source do Tommi Virtanen. O procedimento de instalação pode ser visto no post Gitosis: Como Instalar.

Após a instação temos acesso as configurações do Gitosis via o repositório gitosis-admin. Inicialmente, apenas você tem acesso e pode-se adicionar outros usuários. Porém, caso você perca sua chave pública ou esta em um computador que não é cadastrado, você não tem acesso a este repositório. Consequentemente você não pode trabalhar nos repositórios marcados como privados.

Tomaremos como exemplo a seguinte chave pública:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArK5rpbJHBfKQZ/plR+IUWKNsml02e20eUC28U5Vgp75JX1YC4wYurDQ== developer@ubuntu-desktop

Para esta ocasião poderemos fazer os seguintes passos:

  1. Acessar a sua vps via ssh.
  2. Adicionar a chave pública dentro das chaves autorizadas de acesso ao usuário git (/home/git/.ssh/authorized_keys): command=”gitosis-serve developer@ubuntu-desktop”,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArK5rpbJHBfKQZ/plR+IUWKNsml02e20eUC28U5Vgp75JX1YC4wYurDQ== developer@ubuntu-desktop
  3. Adicionar a chave pública dentro das keys do gitosis-admin (/home/git/repositories/gitosis-admin.git/gitosis-export/keydir/). Lembrando que o arquivo deve o nome do seu computador, que esta na final da sua key, adicionado de .pub, nosso exemplo: developer@ubuntu-desktop.pub

Pronto, agora é só fazer o clone do repositório gitosis-admin, git clone git@SEU-SERVIDOR:gitosis-admin.git, e voltar a ter acesso aos seus repositórios.

Gitosis: Como Instalar

A utilização de repositórios descentralizados esta crescendo muito. Atualmente utilizo o GIT para manter o código das minhas aplicações e existirá um outro post sobre as vantagens desta ferramenta sobre as outras formas de versionamento.

Existem serviços de hospedagem de repositórios gratuito, como github, porém, o código ficará open-source, disponível para qualquer pessoa baixar. Para se ter repositórios privados é necessário se adquirir planos pagos nestes serviços de hospedagens.

Para as pessoas que necessitam de repositórios privados, para projetos de clientes, regra da empresa ou novos softwares por exemplo, e que não gostariam de pagar por estes serviços, independente de qual for o motivo, podem usar os projetos open-sources Gitosis e Gitorious. O Gitosis é um repositório remoto muito simples, e por isto ele será abordado primeiro neste blog.

Para instalar o Gitosis estarei utilizando como SO o Ubuntu-Server 10.4. Vamos para o passo-a-passo da instalação:

  • Instalar o openssh-server, como sudo, para se ter acesso a máquina em questão:
 apt-get install openssh-server 
  • Instalar, novamente como sudo, o pacote para se trabalhar com o git:
apt-get install git-core
  • Baixar o projeto do Gitosis:
git clone git://eagain.net/gitosis.git
  • Instalar o Gitosis:
cd gitosis
python setup.py install
  • Caso ocorra erros durante a instalar do Gitosis, como -bash: python: command not found ou ImportError: No module named setuptools, deverá instalar, como sudo, o pacote python-setuptools:
apt-get install python-setuptools
  • Após instalado o Gitosis cria-se o usuário Git na máquina:
sudo adduser \
    --system \
    --shell /bin/sh \
    --gecos 'git version control' \
    --group \
    --disabled-password \
    --home /home/git \
    git
  • Após a confirmação da criação do usuário git iremos adicionar a public key do nosso computador dentro do servidor que esta hospedado o Gitosis. Para criar a public key do nosso computador iremos executar o comando:
ssh-keygen -t rsa
  • Após copiado a public key do computador para o servidor, para efeito de tutorial estaremos declarando que a chave encontra-se dentro de /tmp/id_rsa.pub, iremos adicionar ao usuário git e atualizar o gitosis:
sudo -H -u git gitosis-init < /tmp/id_rsa.pub
  • Como medida preventiva iremos dar permissão de execução, como root, ao hook post-update do Gitosis:
chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
  • Pronto, nosso repositório remoto de Git esta funcionando com o Gitosis. Agora é só fazer o clone do gitosis-admin, que é por onde se adiciona usuários e cria-se repositórios.
git clone git@SEU-SERVIDOR:gitosis-admin.git

Toda vez que realizar uma modificação no gitosis-admin e realizar o push automaticamente as mudanças estarão vigentes, via o script post-update. Este post teve como base o post Gitosis – Git repository.

Flex Mania 2010

Atualização 14/07/2010:

As gravações já se encontram disponíveis. O link se encontra no título de cada palestra.

O Flex Mania 2010 chegou ao fim e vai deixar saudades. Foram 21 palestras do mais alto nível. Foram abordados temas como: Flex, Java, Facebook, Grails, Impressora fiscais ECF, FMS, Stractus, AS3, Oracle WebLogic, e muito mais. Todas as palestras foram gravadas via Adobe Connect Pro e também via Catamsia em qualidade HD (foram quase 270GB de arquivos de gravação). Todas os arquivos e links estarão disponíveis daqui a 30 dias.

Muitos sorteios ocorreram, o Igor Costa virou o mais novo Silvio Santos da Internet, tivemos várias promoções em cima dos cursos da RIACycle, durante três palestras houve doação de licenças do PDF Pure. Foram mais de 30 mil reais em prêmios. Quem participou do evento, dê seu feedback para um 2011 melhor!

Caso queira pode visualizar o resumo do que ocorreu no evento nos seguintes links:

Os agradecimentos vão para Igor Costa por organizar este evento da melhor forma possível e os patrocinadores do evento:


Resumo: Flex Mania 2010 – Dia 3

Atualização 14/07/2010:

As gravações já se encontram disponíveis. O link se encontra no título de cada palestra.

Veja o que ocorreu no Flex Mania 2010 – Dia 1 e no Flex Mania 2010 – Dia 2. Segue o resumo das palestras do dia.

Seu back-end é tão produtivo quanto seu MXML? com Pedro Claudio

Pedro Paulo, que é consultor de TI pela Inove CE, teve como agenda o ColdFusion 9, o custo de implementação, a relação com a Adobe, Java, LifeCycle. Apresentou benchmark, código de exemplos,

Algumas declarações apresentada:

Devido a alguns problemas de conexão no palestrante não foi possível trazer mais informações. Agradeço ao Igor Costa pela forte tentantiva de manter a palestra da melhor forma fazendo ligação via GTalk para diminuir o delay. Porém, para não ficarmos sem o conteúdo, o Pedro estará gravando um screencast com a palestra para disponibilizar.

Getting data effectively to and from Flex and AIR com Shashank Tiwari

Shashank, autor do livro Professional BlazeDS, mostra a troca de dados no Flex e no Air. Começou sua palestra com algumas tabelas comparativas entre BlazeDS e LiveCycle, onde a diferença entre eles é grande tendo o LiveCycle cobrindo as seguintes features: novo protocolo RTMP, Data throttling, realible communication, Spring integration support, RIA PDF Generation, Edge Server, entre outras.

Logo após a abordagem dos custos e suporte, o palestrante partiu para os exemplos mostrando a utilização da api do Google Weather usando HTTPServices, conexões com serviços em Java via BlazeDS. Apresentou dicas na criação de conexões, de retorno e como testa-las via Eclipse para otimizar a produção.

Hacking SWF com Claus Wahlers

Claus, Flash geek, tem sua primeira participação no Flex Mania e era uma palestra aguardada por muitos. Sua palestra teve como inicio apresentando os projetos da qual participa, entre eles: as3swf, as3abc e swfassist. Foram mostrados exemplos de utilização do as3swf com texto e imagens. Para entender melhor a utilização do mesmo, o palestrante apresentou a anatomia do swf junto com seu comportamento, data types, RECT and bit arrays, evolução das SWF Tags.

Tobias Schneider passou, no chat, durante a palestra um link para os mais nostálgicos: The first steps of Flash – FutureSplash Animator

Flex e PHP: Debug, Debug, Debug!!! com José Fiel

José, que é desenvolvedor Flex e PHP há mais de 2 anos no Ministério da Educação e Instrutor do Mini Curso online de Flex e Zend Framework da RIACycle, começa apresentando a prévia do aplicativo usada no curso. Em sua palestra desvenda o erro “Channel Disconnected”, apresenta ferramentas auxiliares e coloca a mão na massa!

As ferramentas apresentadas são: Charles Proxy, AMF Explorer e o Network Monitor do FB4 Premium, e o palestrante mostra todas em ação. Os slides já estão disponíveis.

Flex no Facebook com Francisco Brianezi

O Francisco em sua palestra desmistificou a API do Facebook. Foi visto todo o código necessário para se logar, trazer os amigos, posts, imagens, fazer logout e realizar posts, isto tudo em Adobe AIR!

Devido a um compromisso não pude acompanhar na integra algumas palestras. Agora é aguardar as gravações para assisti-las. Segue as palestras que ocorreram e não pude fazer o resumo:

Automating integration – focus on the important stuff com Mark Piller
Usando Adobe Flex com Impressoras fiscais ECF com Gabriel dos Santos
Flex + Grails – Criando aplicações Flex em tempo recorde com João Augusto Zaratine

Resumo: Flex Mania 2010 – Dia 2

Atualização 14/07/2010:

As gravações já se encontram disponíveis. O link se encontra no título de cada palestra.

Atualização 10/07/2010:

Atualizado a palestra do Leonardo França com a mudança de um dos usos do Stratus. Slides do Demian e do Stefan adicionados.

Dando continuidade ao evento Flex Mania 2010, o dia foi repleto de sorteios. Além dos sorteios tivemos 2 promoções ‘malucas’ onde uma dava 30% de desconto em qualquer curso da RIACycle e a outra no Curso de Flex 4 + Java da RIACycle para os 50 primeiros e-mails. Hoje ocorreria a palestra do Beck Novaes e do Mário Júnior, porém não teve devido a força maior. Veja o que ocorreu no Flex Mania 2010 – Dia 1 e no Flex Mania 2010 – Dia 3. Segue o resumo das palestras do dia.

SAP e Flex: Soluções com Usabilidade para Sistemas Corporativos com Paulo Miyashiro

Paulo Miyashiro, que atualmente é Arquiteto de sistemas pela Klarix, trabalha há 15 anos no ramo de TI e teve como clientes Telefônica, UOL, Microsoft, Yahoo, entre outros. Em sua palestra, traz toda sua experiência de ambientes corporativos. Fez uma abordagem sobre as ERP para poder chegar ao ponto das REA (Rich Enterprise Applications), que é junção de RIA (Rich Internet Applications) com SOA (Service Oriented Architecture). Apresenta os termos e gráficos sobre a experiência UX e demonstra o sistema SAP com suas interações. Após isto, é mostrada a ligação que pode ser feita entre o Flex e SAP e demonstrando que a usabilidade pode estar dentro dos Sistemas Corporativos.

Trabalhando com P2P na Flash Platform com RTMFP (Stratus) com Leonardo França

Leonardo França começa explicando como se trabalha a rede P2P. Apresenta o Stratus, a sua diferença com o FMS (Flash Media Server) e o novo protocolo RTMFP (Real Time Media Flow Protocol). O RTMFP, já disponível a partir do Flash Player 10 e com multi ponto na versão 10.1, é baseado em UDP, que é bem mais rápido que o TCP, pois, pode haver perdas sem comprometer o resultado final, que é ideal para streaming de audio e vídeo.

Para começar a utilizar acesse http://labs.adobe.com/technologies/stratus/ e cadastre-se para receber a developer key. Dentre seus uso o palestrante destacou o uso em Voip, Adobe AIR com SIP (Session Initiation Protocol), Streamings, Ferramentas colaborativas (por exemplo, Adobe Acrobat) e chat. Uma das perguntas feitas refere-se a segurança e foi respondido que o formato UDP aceita criptografia dos dados. Os slides e fontes já estão disponíveis.

Utilizando o Padrão Presentation Model em Aplicações Flex com Eric Cavalcanti

Eric, que é o responsável pelo projeto open source FireScrum, apresenta os problemas das views que é deixar uma classe complexa, difícil de manter e testar e, ocasionalmente, seria difícil compartilhar o código numa outra View que necessite do mesmo comportamento. Baseado em algumas motivações como testes, facilidade de manutenção e separação de lógicas, foi apresentado o Presentation Model.

Eric mostra todo o código utilizado e o que deve-se manter e retirar das Views. O Presentation Model, que é um padrão recomendado pela Adobe no Cairngorm 3, possui duas abordagens: Hierárquica e Componentizada, que é abordado pelo palestrante juntamente com as respostas a mudanças.

Para quem assistiu a palestra do Eric no Flex For Kids sabe a qualidade do apresentador e seu conteúdo!

Programação pura em ActionScript com Flash CS5 e FDT com Demian Borba

Demian, que foi o organizador da Flash Camp Brasil, veio com AS3 puro no sangue!! Abordou alguns pontos do PDT e por qual motivo é a IDE de trabalho atual dele. Foram dadas dicas de programação para aumentar a performance, como: setar variáveis para null, multiplicar dados é melhor que dividir, utilizar bitmaps a vetores. Foi abordado também utilização de Google Analytics em projetos Flash e no final passou algumas dicas pessoais para o futuro. Slides já disponíveis.

Este twittie diz tudo : @horochovec: Muito bacana a palestra do @demianborba . Exemplos simples e extremamentes técnicos sobre o comportamento do Flash Player

Adobe Flex 4, Java e Google App Engine – Alta escalabilidade para sua aplicação nas nuvens com Stefan Horochovec

Stefan, que trabalha há 10 anos com desenvolvimento e é moderador das listas AIR-Brasil e e Flex-Brasil, começa sua palestra já mostrando as definições, vantagens, desvantagens e uso da Cloud Computing e do Google App Engine. Mostra a relação do GAE com o Java, que foi a segunda linguagem aceita pelo Google. Ainda sobre o GAE, foi abordado o plugin para o Eclipse, persistência, cron, armazenamento, BlazeDS, configurações XML, mudanças necessárias no Java para se trabalhar. E por fim, mostrou o lado do Adobe Flex para esta ligação. Os slides já estão disponívels.