<?php
$event = $_SERVER['HTTP_X_GITLAB_EVENT'];
$client_ip = $_SERVER['REMOTE_ADDR'];
$access_ip = array('192.168.112.151');
if (!in_array($client_ip, $access_ip)) {
echo "Invalid ip [{$client_ip}]" . PHP_EOL;
exit(0);
}
if ($event == 'Push Hook') {
$input = file_get_contents("php://input");
$json = json_decode($input, true);
if ($json['project']['name'] != 'portal') {
exit(0);
}
$branch = $json['ref'];
switch ($branch) {
case 'refs/heads/dev':
exec("cd /var/www/html/voss/portal/;/usr/bin/git pull origin dev 2>&1", $output, $result);
error_log(print_r('pull dev', true));
error_log(print_r($output, true));
error_log(print_r($result, true));
break;
default:
exec("cd /var/www/html/voss/portal/;/usr/bin/git pull origin master 2>&1", $output, $result);
error_log(print_r('pull master', true));
error_log(print_r($output, true));
error_log(print_r($result, true));
break;
}
}