/** * 检查目录和权限,工作空间的准备 * 每一个版本都单独开辟一个工作空间,防止代码污染 * * @return bool * @throws \Exception */ private function _initWorkspace() { $folder = new Folder(); $sTime = Command::getMs(); $folder->setConfig($this->conf); // 本地宿主机工作区初始化 $folder->initLocalWorkspace($this->task->link_id); // 本地宿主机代码仓库检查 // 远程目标目录检查,并且生成版本目录 $ret = $folder->initRemoteVersion($this->task->link_id); // 记录执行时间 $duration = Command::getMs() - $sTime; Record::saveRecord($folder, $this->task->id, Record::ACTION_PERMSSION, $duration); if (!$ret) { throw new \Exception('初始化部署隔离空间出错'); } return true; }