From 77f6fa772ceb6b348ec062fa1aeb0884a11b152f Mon Sep 17 00:00:00 2001 From: David C W Brown Date: Mon, 27 Jun 2016 20:41:49 +0100 Subject: [PATCH] Working post push hook now? --- src/tools/testcoordinator/postpush.pl | 30 ++++++++++++++++++++------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/src/tools/testcoordinator/postpush.pl b/src/tools/testcoordinator/postpush.pl index 3eb07825..f0edcec7 100644 --- a/src/tools/testcoordinator/postpush.pl +++ b/src/tools/testcoordinator/postpush.pl @@ -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 &";