-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy.php
More file actions
74 lines (60 loc) · 1.88 KB
/
deploy.php
File metadata and controls
74 lines (60 loc) · 1.88 KB
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<html>
<head>
<title>DoliDeploy</title>
</head>
<body>
<h1>DoliDeploy v0.1</h1>
<?php
// ToDo:
// - check PHP write permission
// - better error checking
$conf = parse_ini_file('./deploy.ini',1);
//print_r($conf);
foreach ($conf as $cliente => $data) {
if($data["enabled"] != 1) {
echo "<h2>Skipping ". $cliente. "</h2><br>";
continue;
}
echo "<h2>Sito " . $cliente . "</h2>";
$branch = $data["branch"];
$location = $data["location"];
$backuplocation = $data["backuplocation"];
$modules = explode(",", $data["modules"]);
foreach($modules as $module) {
echo "<h4> - Deploying module " . $module . ".</h4>";
$url = "https://github.com/doliFarm/" . $module . "/archive/refs/heads/" . $branch . ".zip";
$zipfile = $module . ".zip";
//download from github
echo "Downloading " . $url . "<br>";
exec("wget " . $url . " -O " . $zipfile . " > /dev/null 2>&1");
// ToDo check wget error
echo "Download complete, I hope (no error checking).<br>";
// extract files and remove zip file
echo "Extracting files.<br>";
$zip = new ZipArchive;
$res = $zip->open($zipfile);
if ($res === TRUE) {
$zip->extractTo("./");
$zip->close();
unlink($zipfile);
// ToDo check unlink error
echo 'Extraction complete.<br>';
} else {
echo '<b>Failed unzipping!</b><br>';
}
// creating backup of old module
$backupfile = $backuplocation . "/" . $module . date('_Y-m-d_His') ;
echo "Creating backup of old module in " . $backupfile . ".<br>";
//exec("mv " . $location . "/" . $module . " " . $backupfile);
rename($location . "/" . $module, $backupfile);
//ToDo check error
// moving files to location
echo "Moving module to " . $location . "/" . $module . ".<br>";
//exec("mv ./" . $module . "-" . $branch . " " . $location . "/" . $module);
rename($module . "-" . $branch, $location . "/" . $module);
//ToDo check error
}
}
?>
</body>
</html>