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
+
0
-

Jednoduché rozšíření, které umožní relativně bezpečně volat hooky z Githubu a Bitbucketu (i odkudkoliv jinud).

Github
Composer

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)