当前位置: 首页>>代码示例>>PHP>>正文


PHP Project::getDeployWorkspace方法代码示例

本文整理汇总了PHP中app\models\Project::getDeployWorkspace方法的典型用法代码示例。如果您正苦于以下问题:PHP Project::getDeployWorkspace方法的具体用法?PHP Project::getDeployWorkspace怎么用?PHP Project::getDeployWorkspace使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在app\models\Project的用法示例。


在下文中一共展示了Project::getDeployWorkspace方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: updateToVersion

 /**
  * 更新到指定commit版本
  *
  * @param string $commit
  * @return bool
  */
 public function updateToVersion($task)
 {
     $copy = GlobalHelper::str2arr($task->file_list);
     $fileAndVersion = [];
     foreach ($copy as $file) {
         $fileAndVersion[] = StringHelper::explode($file, " ", true, true);
     }
     $branch = $task->branch == 'trunk' ? $task->branch : ($this->getConfig()->repo_mode == Project::REPO_BRANCH ? 'branches/' : 'tags/') . $task->branch;
     // 先更新
     $versionSvnDir = sprintf('%s-svn', rtrim(Project::getDeployWorkspace($task->link_id), '/'));
     $cmd[] = sprintf('cd %s ', $versionSvnDir);
     $cmd[] = $this->_getSvnCmd(sprintf('svn checkout %s/%s .', $this->getConfig()->repo_url, $branch));
     // 更新指定文件到指定版本,并复制到同步目录
     foreach ($fileAndVersion as $assign) {
         if (in_array($assign[0], ['.', '..'])) {
             continue;
         }
         $cmd[] = $this->_getSvnCmd(sprintf('svn up %s %s', $assign[0], empty($assign[1]) ? '' : ' -r ' . $assign[1]));
         // 多层目录需要先新建父目录,否则复制失败
         if (strpos($assign[0], '/') !== false) {
             $cmd[] = sprintf('mkdir -p %s/%s', Project::getDeployWorkspace($task->link_id), dirname($assign[0]));
         }
         $cmd[] = sprintf('cp -rf %s %s/%s', rtrim($assign[0], '/'), Project::getDeployWorkspace($task->link_id), dirname($assign[0]));
     }
     $command = join(' && ', $cmd);
     return $this->runLocalCommand($command);
 }
开发者ID:ShuangRen,项目名称:walle-web,代码行数:33,代码来源:Svn.php

示例2: updateToVersion

 /**
  * 更新到指定commit版本
  *
  * @param TaskModel $task
  * @return bool|int
  */
 public function updateToVersion(TaskModel $task)
 {
     // 先更新
     $versionSvnDir = rtrim(Project::getDeployWorkspace($task->link_id), '/');
     $cmd[] = sprintf('cd %s ', $versionSvnDir);
     $cmd[] = $this->_getSvnCmd(sprintf('svn up -q --force -r %d', $task->commit_id));
     $command = join(' && ', $cmd);
     return $this->runLocalCommand($command);
 }
开发者ID:ashehui,项目名称:walle-web,代码行数:15,代码来源:Svn.php

示例3: updateToVersion

 /**
  * 更新到指定commit版本
  *
  * @param string $commit
  * @return bool
  */
 public function updateToVersion($task)
 {
     // 先更新
     $destination = Project::getDeployWorkspace($task->link_id);
     $this->updateRepo($task->branch, $destination);
     $cmd[] = sprintf('cd %s ', $destination);
     $cmd[] = sprintf('/usr/bin/env git reset -q --hard %s', $task->commit_id);
     $command = join(' && ', $cmd);
     return $this->runLocalCommand($command);
 }
开发者ID:9618211,项目名称:walle-web,代码行数:16,代码来源:Git.php

示例4: updateToVersion

 /**
  * 更新到指定commit版本
  *
  * @param string $commit
  * @return bool
  */
 public function updateToVersion($commit, $version)
 {
     // 先更新
     $destination = Project::getDeployWorkspace($version);
     $this->updateRepo('master', $destination);
     $cmd[] = sprintf('cd %s ', $destination);
     $cmd[] = sprintf('/usr/bin/env git reset %s', $commit);
     $cmd[] = '/usr/bin/env git checkout .';
     $command = join(' && ', $cmd);
     return $this->runLocalCommand($command);
 }
开发者ID:qai41,项目名称:walle-web,代码行数:17,代码来源:Git.php

示例5: getRemoteTaskCommand

 /**
  * 获取远程服务器要操作的任务命令
  *
  * @param $task    string
  * @param $version string
  * @return string string
  */
 public static function getRemoteTaskCommand($task, $version)
 {
     $tasks = GlobalHelper::str2arr($task);
     if (empty($tasks)) {
         return '';
     }
     $cmd = [];
     $workspace = rtrim(Project::getDeployWorkspace($version), '/');
     $version = Project::getReleaseVersionDir($version);
     $pattern = ['#{WORKSPACE}#', '#{VERSION}#'];
     $replace = [$workspace, $version];
     foreach ($tasks as $task) {
         $cmd[] = preg_replace($pattern, $replace, $task);
     }
     return join(' && ', $cmd);
 }
开发者ID:netstao,项目名称:walle-web,代码行数:23,代码来源:Task.php

示例6: postDeploy

 /**
  * post-deploy部署代码后置触发任务
  * git代码检出之后,可能做一些调整处理,如vendor拷贝,配置环境适配(mv config-test.php config.php)
  *
  * @return bool
  */
 public function postDeploy($version)
 {
     $tasks = GlobalHelper::str2arr($this->getConfig()->post_deploy);
     if (empty($tasks)) {
         return true;
     }
     $cmd = [];
     $workspace = rtrim(Project::getDeployWorkspace($version), '/');
     $pattern = ['#{WORKSPACE}#'];
     $replace = [$workspace];
     foreach ($tasks as $task) {
         $cmd[] = preg_replace($pattern, $replace, $task);
     }
     $command = join(' && ', $cmd);
     return $this->runLocalCommand($command);
 }
开发者ID:Richard87,项目名称:walle-web,代码行数:22,代码来源:Task.php

示例7: postDeploy

 /**
  * post-deploy部署代码后置触发任务
  * git代码检出之后,可能做一些调整处理,如vendor拷贝,配置环境适配(mv config-test.php config.php)
  *
  * @return bool
  */
 public function postDeploy($version)
 {
     $tasks = GlobalHelper::str2arr($this->getConfig()->post_deploy);
     if (empty($tasks)) {
         return true;
     }
     // 本地可能要做一些依赖环境变量的命令操作
     $cmd = ['source /etc/profile'];
     $workspace = rtrim(Project::getDeployWorkspace($version), '/');
     $pattern = ['#{WORKSPACE}#'];
     $replace = [$workspace];
     // 简化用户切换目录,直接切换到当前部署空间:{deploy_from}/{env}/{project}-YYmmdd-HHiiss
     $cmd[] = "cd {$workspace}";
     foreach ($tasks as $task) {
         $cmd[] = preg_replace($pattern, $replace, $task);
     }
     $command = join(' && ', $cmd);
     return $this->runLocalCommand($command);
 }
开发者ID:9618211,项目名称:walle-web,代码行数:25,代码来源:Task.php

示例8: updateToVersion

 /**
  * 更新到指定commit版本
  *
  * @param TaskModel $task
  * @return bool|int
  */
 public function updateToVersion(TaskModel $task)
 {
     // 兼容无trunk、无branches、无tags下为空
     $branch = $task->branch == 'trunk' || $task->branch == '' ? $task->branch : ($this->getConfig()->repo_mode == Project::REPO_BRANCH ? 'branches/' : 'tags/') . $task->branch;
     // 先更新
     $versionSvnDir = sprintf('%s-svn', rtrim(Project::getDeployWorkspace($task->link_id), '/'));
     $cmd[] = sprintf('cd %s ', $versionSvnDir);
     $cmd[] = $this->_getSvnCmd(sprintf('svn checkout -q %s/%s .', $this->getConfig()->repo_url, $branch));
     // 更新指定文件到指定版本,并复制到同步目录
     $fileAndVersion = $this->getFileAndVersionList($task);
     foreach ($fileAndVersion as $assign) {
         if (in_array($assign['file'], ['.', '..'])) {
             continue;
         }
         $cmd[] = $this->_getSvnCmd(sprintf('svn up -q %s %s', $assign['file'], empty($assign['version']) ? '' : ' -r ' . $assign['version']));
         // 多层目录需要先新建父目录,否则复制失败
         if (strpos($assign['file'], '/') !== false) {
             $cmd[] = sprintf('mkdir -p %s/%s', Project::getDeployWorkspace($task->link_id), dirname($assign['file']));
         }
         $cmd[] = sprintf('cp -rf %s %s/%s', rtrim($assign['file'], '/'), Project::getDeployWorkspace($task->link_id), dirname($assign['file']));
     }
     $command = join(' && ', $cmd);
     return $this->runLocalCommand($command);
 }
开发者ID:charlestang,项目名称:walle-web,代码行数:30,代码来源:Svn.php

示例9: cleanUpLocal

 /**
  * 收尾做处理工作,如清理本地的部署空间
  *
  * @param $version
  * @return bool|int
  */
 public function cleanUpLocal($version)
 {
     $cmd[] = "rm -rf " . Project::getDeployWorkspace($version);
     if ($this->config->repo_type == Project::REPO_SVN) {
         $cmd[] = sprintf('rm -rf %s-svn', rtrim(Project::getDeployWorkspace($version), '/'));
     }
     $command = join(' && ', $cmd);
     return $this->runLocalCommand($command);
 }
开发者ID:songjiabin89,项目名称:walle-web,代码行数:15,代码来源:Folder.php

示例10: cleanUpLocal

 /**
  * 收尾做处理工作,如清理本地的部署空间
  *
  * @param $version
  * @return bool|int
  */
 public function cleanUpLocal($version)
 {
     $cmd[] = 'rm -rf ' . Project::getDeployWorkspace($version);
     $cmd[] = sprintf('rm -f %s/*.tar.gz', dirname(Project::getDeployPackagePath($version)));
     $command = join(' && ', $cmd);
     return $this->runLocalCommand($command);
 }
开发者ID:ashehui,项目名称:walle-web,代码行数:13,代码来源:Folder.php

示例11: cleanUp

 /**
  * 收尾做处理工作,如清理本地的部署空间
  *
  * @param $version
  * @return bool|int
  */
 public function cleanUp($version)
 {
     $command = "rm -rf " . Project::getDeployWorkspace($version);
     return $this->runLocalCommand($command);
 }
开发者ID:hcxiong,项目名称:walle-web,代码行数:11,代码来源:Folder.php


注:本文中的app\models\Project::getDeployWorkspace方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。