Eu expliquei como enviar seu código para o seu próprio servidor e depois disso você talvez queira executar algumas ações específicas, no meu caso eu gostaria que meu blog fosse atualizado quando eu enviasse uma nova versão para o git então eu usei um `post-receive hook.
Este script vai manter as 3 últimas versões do seu código, então se algo der errado, você pode fazer rollback mudando o link. Para fazer isso o script utiliza a variável DEPLOY_PATH e cria uma nova pasta sources nela, a qual vai ter as versões do seu site. A versão ativa é basicamente um link simbolico (symlink) da pasta live para a pasta sources
Variáveis:
REPO_PATH = Caminho para o seu repositório local
DEPLOY_PATH = Caminho para a pasta de release
DEPLOY_BRANCH = Branch que você quer lançar
#!/bin/bashREPO_PATH=/home/someuser/test.git
DEPLOY_PATH=/var/www/
DEPLOY_BRANCH="master"echo"REPO_PATH=$REPO_PATH"echo"DEPLOY_PATH=$DEPLOY_PATH"while read oldrev newrev refname
do
branch=$(git rev-parse --symbolic--abbrev-ref$refname)if[$DEPLOY_BRANCH=="$branch"];then
TIMESTAMP=$(date +%Y%m%d%H%M%S)VERSION_PATH=$DEPLOY_PATH/sources/$TIMESTAMPLIVE_PATH=$DEPLOY_PATH/live
echo"TIMESTAMP=$TIMESTAMP"echo"VERSION_PATH=$VERSION_PATH"echo"LIVE_PATH=$LIVE_PATH"mkdir-p$VERSION_PATHmkdir-p$VERSION_PATH/sources
git --work-tree=$VERSION_PATH--git-dir=$REPO_PATH checkout -f$DEPLOY_BRANCH# Remove git filesrm-rf$VERSION_PATH.git
rm-rf$LIVE_PATHln-s$VERSION_PATH$LIVE_PATH# Delete old folder keeping the 3 most recent ones, which aren't the current live one, / (root, security measure, different from your source folder)rm-rf$(ls-1dt$(find -L$DEPLOY_PATH/sources/ -maxdepth 1 -type d !-samefile / !-samefile$DEPLOY_PATH/sources/ !-samefile$LIVE_PATH-print) | tail-n+3)fi
done
Se você ainda tiver alguma questão me avise,
Matheus
Eu estou mudando a minha infraestrutura como vocês devem ter percebido, neste momento eu gostaria de enviar meus códigos para o meu próprio servidor para poder fazer deploy com um simples git push my_server branch.
Então se você quer o mesmo tipo de comportamento você precisa conectar a sua máquina que vai hostear seu git com ssh e executar:
$ mkdir test.git
$ cd git
$ git --bare init
Você vai precisar saber o caminho completo para a pasta recém criada. Para verificar o diretório que você se encontra utilize pwd. Voltando a sua máquina local, adicione o seu servidor como uma origin no seu git.
Estou migrando meu blog e alguns outros serviços para a infraestrutura da Amazon. Eu precisava de uma instância EC2 com suporte a PHP e a conectar no MySQL.
Depois de alguns bons longos anos com o blog parado, decidi voltar a escrever e mudar o mesmo para o Heroku. Decidi utilizar o Heroku como servidor, o serviço de banco de dados da Amazon, o RDS e o S3 como servidor de arquivos.
Passos:
Desabilite todas as extensões do Wordpress
Faça um backup completo (Wordpress, banco de dados, uploads, etc)
Envie seu código para o Heroku usando o repositório git que você criou
Acesse o seu site
Se você está atualizando seu Wordpress, existem chances dos plugins que você usava não funcionarem na nova versão, então verifique se os plugins funcionam ;)
Se vocês tiverem dúvidas em algum passo específico eu posso criar um novo post com mais detalhes sobre ele, esse foi uma visão geral de como eu fiz.