1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?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 (isset($logFile)) {
- $log = true;
- $fs = fopen($logFile, 'a');
- fwrite($fs, "[start deploy] time:{$time}".PHP_EOL);
- } else {
- $log = false;
- }
- # 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 (!isset($data->token) || $data->token != $toCheckToken) {
- $msg = "Invalid 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);
- isset($fs) && fclose($fs);
|