Last active
November 13, 2017 22:34
-
-
Save edirpedro/2c246df06def7e597b88588efd13f936 to your computer and use it in GitHub Desktop.
Git Deploy via Webhook
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* | |
* Lista de checagem para fazer Deploy via Webhook | |
* = = = = = = = = = = = = = = = = = = = = = = = = = = = = | |
* | |
* Coloque este arquivo na pasta ./public_html | |
* | |
* O servidor possui acesso via SSH? | |
* | |
* O git foi iniciado na pasta raiz? | |
* (git init --bare .git) | |
* | |
* O repositório esta vinculado ao git? | |
* (git remote add origin REPOSITÓRIO) | |
* | |
* Corrigiu o caminho para o .git na variável TARGET? | |
* (pode ser dirname($_SERVER['DOCUMENT_ROOT']) para pegar a pasta raíz automaticamente) | |
* | |
* Corrigiu o caminho para o repositório local na variável REPO? | |
* (pode ser $_SERVER['DOCUMENT_ROOT'] para pegar a pasta pública automaticamente) | |
* | |
* Definiu qual será a branch utilizada na variável BRANCH? | |
* | |
* Onde criar uma chave SSH? | |
* (pasta ~/.ssh da raíz do usurário na hospedagem) | |
* | |
* Como gerar uma chave SSH? | |
* (ssh-keygen -t rsa -C "[email protected]") | |
* | |
* A chave criada esta registrada no repositório do Bitbucket? | |
* (conteúdo do arquivo id_rsa.pub deve ser registrado em Repositório > Settings > Access Keys) | |
* | |
* Alterou o token de acesso para torná-lo único? | |
* | |
* Um webhook foi criado para acionar este arquivo? | |
* (registre a url abaixo em Repositório > Settings > Webhooks) | |
* | |
* Testou este arquivo pelo navegador e funcionou? Parabéns! | |
* (http://seudominio.com.br/deploy.php?access_token=CHAVEAQUI) | |
* | |
*/ | |
define('ACCESS_TOKEN', 'fAfj597nJDFSf6aDg5g8aRNugkhgu'); | |
define('TARGET', "/caminho/pasta/raiz"); | |
define('REPO', TARGET . '/public_html'); | |
define('BRANCH', 'master'); | |
if(isset($_GET['access_token']) && $_GET['access_token'] == ACCESS_TOKEN) { | |
echo shell_exec( | |
'cd ' . TARGET | |
. ' && git fetch --all' | |
. ' && export GIT_WORK_TREE=' . REPO | |
. ' && git checkout -f origin/' . BRANCH | |
. ' 2>&1' | |
); | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment