Working post push hook now?

This commit is contained in:
David C W Brown 2016-06-27 20:41:49 +01:00
parent b495b2725c
commit 77f6fa772c

View file

@ -9,6 +9,14 @@ use POSIX "strftime";
use CGI qw(:standard escapeHTML);
use JSON;
sub writelog {
my ($msg) = @_;
open(LOG, ">>/tmp/postpush.log") or die "Could not create postpush.log";
flock(LOG, 2) or die "Could not lock postpush.log";
print LOG sprintf("%s %s\n", strftime("%Y/%m/%d %H.%M.%S", localtime), $msg);
close(LOG);
}
my $postdata = from_json(param('POSTDATA'));
@ -19,16 +27,22 @@ my $name = $postdata->{'head_commit'}->{'author'}->{'name'};
my $branch = $ref; $branch =~ s'^.*\/'';
my $repo = $url; $repo =~ s'^.*\/'';
#my $repo="repo"; my $branch="branch"; my $name="name";
writelog "Post push github web hook for repository $repo, branch $branch, name $name.";
my $child = fork;
if (not defined $child) {die "Fork failed.";}
if ($child) {
# parent process
writelog "Started ssh, pid = $child.";
} else {
# child process
exec 'ssh root@oberon "perl vishap/voc/src/tools/testcoordinator/buildall.pl >/tmp/buildall.log &"';
exit;
}
print header(),
start_html("Vishap Oberon github post push web hook."),
p("Repository $repo, branch $branch, name $name."),
end_html();
open(LOG, ">>/tmp/postpush.log") or die "Could not create postpush.log";
flock(LOG, 2) or die "Could not lock postpush.log";
printf LOG strftime("%Y/%m/%d %H.%M.%S", localtime), " Repository $repo, branch $branch, name $name.\n";
close(LOG);
system "ssh root@oberon perl vishap/voc/src/tools/testcoordinator/buildall.pl >/tmp/buildall.log &";