lexinek/git-autodeploy-hook – zpracování git hooků
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Jan Mikeš
- Člen | 771
Jednoduché rozšíření, které umožní relativně bezpečně volat hooky z Githubu a Bitbucketu (i odkudkoliv jinud).
Example:
<?php
// /my_project/www/git-autodeploy-hook.php (my_project/www - document root)
require __DIR__ . '/../packagist/autoload.php';
$allowedIps = ["131.103.20.165", "131.103.20.166"];
$allowedMethods = ["POST"];
$allowedUserAgents = ["Bitbucket.org"];
$logDirectory = __DIR__ . "/../log";
$hook = new Lexinek\GitAutodeployHook\Hook($allowedIps, $allowedMethods, $allowedUserAgents, $logDirectory);
$hook->execPull();
// this has same result as $hook->execPull()
$hook->execFunc(function() {
shell_exec("sudo git fetch 2>&1");
shell_exec("sudo git pull 2>&1");
});
Todo:
- testy
- dokumentace
- anotace + komentáře v kódu
- přidání tříd BitbucketHook a GithubHook, které budou mít defaultní hodnoty pro $allowedIps, $allowedMethods a $allowedUserAgents
Jedná se o můj úplně první composer balíček a také úplně první doplněk/rozšíření, které veřejně sdílím, budu tedy převelice rád za jakékoliv rady jak už ohledně coding standartu, composeru atd… a hlavně také za nápady na vylepšení.
Editoval Lexi (8. 2. 2015 11:17)