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
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
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.