Por Fabrício Tavares / 2013-05-20

Usando uma instância EC2 como git


Provavelmente você, assim como eu, já abandonou ftp e scp em favor de uma forma bem mais eficiente e, porque não, elegante de subir arquivos para o servidor.

Caso nunca tenha ouvido falar do Git, recomendo o Git Immersion.

Se você ainda está se acostumando ao GitHub e ainda não possui uma conta paga — o que permite respositórios privados, ou se simplesmente não precisa de muitos repositórios privados, acho interessante

Na Instância Amazon

Configurando o repositório na instância (usado e testado no Debian):

mkdir project.git
cd project.git
git --bare init

Caso apareça essa mensagem de erro:

fatal: GIT_WORK_TREE (or --work-tree=) not allowed without specifying GIT_DIR (or --git-dir=)

Basta checar algumas variáveis de ambiente:

env|grep GIT

e "unset" elas:

unset GIT_WORK_TREE

Onde project.git é o nome do diretório do seu projeto.

Crie um post-receive hook:

cat > hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/home/admin/git/ansee.git
export GIT_WORK_TREE
git checkout -f

Na máquina local

Adicione a chave pública que você usa para se conectar à instância EC2 para o path correto:

ssh-add /path/da/sua/chave.pem 

Crie o diretório local:

mkdir project
cd project
git remote add origin ssh://admin@/home/admin/project.git

Para o primeiro commit, faça

git push origin +master:refs/heads/master

Para todos os outros:

git push origin master

Dúvidas? Só colocar nos comentários.


comments powered by Disqus