-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathupdate-server.php
More file actions
25 lines (18 loc) · 840 Bytes
/
update-server.php
File metadata and controls
25 lines (18 loc) · 840 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
date_default_timezone_set('America/Costa_Rica');
require 'vendor/autoload.php';
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Symfony\Component\Yaml\Yaml;
$config = Yaml::parse(file_get_contents('config.yml'));
$payload = json_decode($_POST['payload']);
$LOCAL_REPO = $_SERVER['DOCUMENT_ROOT'] . "/" . $payload->repository->name;
$REMOTE_REPO = $payload->repository->url . ".git";
if (file_exists($LOCAL_REPO)) {
shell_exec("cd {$LOCAL_REPO} && git fetch --all && git reset --hard origin/master");
} else {
shell_exec("cd {$_SERVER['DOCUMENT_ROOT']} && git clone {$REMOTE_REPO} ");
}
$log = new Logger('UPDATES');
$log->pushHandler(new StreamHandler('logs/' . $payload->repository->name . '.log', Logger::INFO));
$log->addInfo(substr($payload->commits[0]->id, 0, 8) . " " . $payload->commits[0]->message);