Eu tenho um repositório do Github que uso através do Atom.io com um cliente para ajudar a manter todas as alterações do site sincronizadas. O repositório do GitHub contém um webhook que envia automaticamente todas as nossas alterações para o site ao vivo, mas eu quero usar o PHP para enviar as alterações feitas diretamente no servidor da web até o repositório. ou seja: backups de arquivos de log, uploads de imagens e mudanças rápidas feitas diretamente no servidor.
Se uma dessas alterações no servidor ocorrer, meus scripts não me dizem nada.
git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD ..." to unstage)
#
# new file: somefolder/somenewfile.whatever
#
Se eu fizer isso a partir da linha de comando, tudo será sincronizado novamente:
git add --all
git commit -m "from server"
git push -u origin master
Mas se eu tentar fazer isso via PHP shell_exec () backticks ' '
nada acontece. Eu até tentei adicionar pausas.
$output = 'git add --all';
echo $output;
sleep(1);
$output = 'git commit -m "from server"';
echo $output;
sleep(3);
$output = 'git push -u origin master';
echo $output;
sleep(3);
Alguém sabe o que estou fazendo errado aqui? Devo estar colocando essas chamadas em um script bash e, em seguida, chamando-o através de um modelo PHP?