|
@@ -0,0 +1,60 @@
|
|
|
|
+<?php
|
|
|
|
+
|
|
|
|
+// Your Token
|
|
|
|
+$toCheckToken = 'your_to_verify_token';
|
|
|
|
+
|
|
|
|
+// Your valid ip address
|
|
|
|
+$validIP = array('123.45.67.89');
|
|
|
|
+
|
|
|
|
+// Uncomment to set log
|
|
|
|
+//$logFile = '/tmp/deploy.log';
|
|
|
|
+
|
|
|
|
+$remoteIP = $_SERVER['REMOTE_ADDR'];
|
|
|
|
+$time = date("Y-m-d H:i:s");
|
|
|
|
+
|
|
|
|
+if ($logFile) {
|
|
|
|
+ $log = true;
|
|
|
|
+ $fs = fopen($logFile, 'a');
|
|
|
|
+ fwrite($fs, "[start deploy] time:{$time}".PHP_EOL);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+# Check IP
|
|
|
|
+if (!in_array($remoteIP, $validIP)) {
|
|
|
|
+ $msg = "Invalid IP:".$remoteIP;
|
|
|
|
+ echo $msg;
|
|
|
|
+ $log && fwrite($fs, $msg.PHP_EOL);
|
|
|
|
+ exit(0);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+# Decode data
|
|
|
|
+$json = file_get_contents("php://input");
|
|
|
|
+$data = json_decode($json);
|
|
|
|
+if (!$data || empty($data)) {
|
|
|
|
+ $data = (object) $_POST;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+# Check token
|
|
|
|
+if ($data->token != $toCheckToken) {
|
|
|
|
+ $msg = "Invalid token:".$data->token;
|
|
|
|
+ echo $msg;
|
|
|
|
+ $log && fwrite($fs, $msg.PHP_EOL);
|
|
|
|
+ exit(0);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+# Check function
|
|
|
|
+if (!function_exists('exec')) {
|
|
|
|
+ echo "exec funciton is not avaiable!";
|
|
|
|
+ exit(0);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+# Exec update script
|
|
|
|
+exec("sh auto_deploy.sh",$output);
|
|
|
|
+foreach ($output as $val) {
|
|
|
|
+ echo $val."\n";
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+# log
|
|
|
|
+$msg = "Finish auto deploy at ".$time;
|
|
|
|
+$log && fwrite($fs, $msg.PHP_EOL);
|
|
|
|
+$fs && fclose($fs);
|
|
|
|
+
|