代码拉取完成,页面将自动刷新
<?php
/* *****************************************************************
* @Author: wushuiyong
* @Created Time : 三 10/ 7 19:43:39 2015
*
* @File Name: Command.php
* @Description:
* *****************************************************************/
class Command {
private $_log;
public static function log($msg) {
// file_put_contents('/tmp/cmd', var_export($msg, true) . PHP_EOL, 8);
}
public function getExeLog() {
return $this->_log;
}
public function execute($command) {
self::log('---------------------------------');
self::log('---- Executing: $ ' . $command);
$return = 1;
$log = '';
exec($command . ' 2>&1', $log, $return);
$this->_log = implode(PHP_EOL, $log) ?: array();
self::log($this->_log);
self::log('---------------------------------');
return !$return;
}
/**
* 推送更新
*
* @return bool
*/
public function gitPush() {
$markdownDir = sprintf("%s/markdown", WEB_ROOT);
// 存在git目录,直接push
if (!file_exists($markdownDir) || !file_exists($markdownDir . '/.git')) return false;
if (!file_exists($markdownDir) || !file_exists($markdownDir . '/.git')) {
throw new \Exception('初始化git目录失败:' . $this->getExeLog());
}
$cmd[] = sprintf('cd %s ', $markdownDir);
$cmd[] = sprintf('/usr/bin/env git add .');
$cmd[] = sprintf('/usr/bin/env git commit -m"%s"', date("Y-m-d H:i:s", time()));
$cmd[] = sprintf('/usr/bin/env git push origin master');
$command = join(' && ', $cmd);
return $this->execute($command);
}
/**
* 初始化git项目
*
* @param $gitRepo
* @return bool
*/
public function initGit($gitRepo) {
$markdownDir = sprintf("%s/markdown", WEB_ROOT);
if (file_exists($markdownDir) && file_exists(rtrim($markdownDir, '/') . '/.git')) return true;
if (file_exists($markdownDir)) {
$cmd[] = sprintf('cd %s', $markdownDir);
$cmd[] = sprintf('/usr/bin/env git init');
$cmd[] = sprintf('mkdir -p %s/upload', $markdownDir);
$cmd[] = sprintf('/usr/bin/env git remote add origin %s', $gitRepo);
} else {
$cmd[] = sprintf('mkdir %s', $markdownDir);
$cmd[] = sprintf('cd %s', $markdownDir);
$cmd[] = sprintf('/usr/bin/env git clone %s .', $gitRepo);
$cmd[] = sprintf('mkdir -p %s/upload', $markdownDir);
}
$command = join(' && ', $cmd);
return $this->execute($command);
}
/**
* 清除初始化时的目录
*
* @return bool
*/
public function cleanInitDir() {
$markdownDir = sprintf("%s/markdown", WEB_ROOT);
if (!file_exists($markdownDir)) return true;
$command = sprintf('rm -rf %s', $markdownDir);
return $this->execute($command);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。