Entries Tagged 'Rails' ↓

Instalando o git (utilizando o gitosis)

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

Inserindo um calendário javascript para entrada de data no rails

Para inserir um calendário em uma aplicação rails, vamos utilizar o plugin Calendar Date Select. Ele é um calendário em Javascript que utiliza a biblioteca Prototype.

Algumas demonstrações do funcionamento podem ser vistas em http://electronicholas.com/calendar.

Para instalá-lo:

script/plugin install http://calendardateselect.googlecode.com/svn/tags/calendar_date_select

Após instalado o plugin voce deve inserir o calendário na view em que voce deseja:

No caso acima escolhemos a cor cinza (”silver”) mas também é possível escolher outras cores como vermelho (”red”) e azul (”blue”).

Insira também a biblioteca Prototype caso ela já não esteja incluída:

Agora é só inserir o código para o calendário como abaixo:

Existem várias opções de customização do calendário que podem ser encontradas no site oficial

Traduzindo o calendário para português

Para passar os dias da semana e a data para o formato d/M/Y deve-se ir no environment.rb e adicionar:

Obs.: O formato italiano corresponde ao formato (’d/M/Y’)

Deve-se adicionar o javascript correspondente à esse formato, incluindo na view:

Para a tradução para o português, deve-se criar o arquivo pt.js em public/javascripts/calendar_date_select/locale

pt.js

E para que o calendário adote o idioma português como configurado acima basta adicionar a variável

como mostrado abaixo.

Estão abertas as inscrições para o Minas on Rails

Estou feliz em anunciar que estão abertas as inscrições para o Minas on Rails, evento voltado para desenvolvedores que será realizado no dia 01/12 no auditório da Unatec. A inscrição é feita online e a taxa de R$20,00 pode ser paga de várias formas (cartões, boleto, transferência) graças a interface de pagamento oferecida pela MoIP, empresa vizinha da Dito aqui na Fumsoft.

Para explicar melhor o evento, segue o post do Ronaldo Ferraz, autor do tutorial “Rails para sua diversão e lucro” e outro organizador do evento.

“O site do Minas on Rails está no ar e você já pode se inscrever para o primeiro evento do Rails no estado. Promovido pela comunidade Rails-MG, o Minas on Rails acontece no dia primeiro de dezembro, das 9h às 19h.

É um oportunidade para ouvir vários palestrantes falando sobre os mais diversos aspectos do desenvolvimento e implantação do Rails incluindo técnicas avançadas para suas próprias aplicações. Entre os palestrantes estão o TaQ e o Vinícius Teles. A taxa de inscrição é de R$20,00 e inclui uma camisa e o coffee break. Participando, você também recebe um certificado e tem a oportunidade de concorrer aos vários brindes que serão sorteados no dia.

Em resumo: é um excelente evento e uma oportunidade muito boa de ficar ligado à comunidade que está movendo o Rails aqui em Minas Gerais. Não perca.”

Minas on Rails

Ontem tivemos a primeira reunião do Minas on Rails, evento sobre o Rails que estamos ajudando a organizar para a comunidade mineira. Pela conversa que tivemos, vai ser um dia repleto de palestras, muito interessantes, inclusive com a participação de feras do Rio e Sampa, que também estão organizando um evento parecido.

Muito legal ver a comunidade que estuda/trabalha com Rails, em Minas, se reunindo para agilizar isso. Se você tem interesse em Rails, Ruby, XP, TDD, REST, DSL se inscreva na nossa lista de discusão e reserve o dia 01/12 para comparecer ao evento.