DNDeployment::Link PHP Method

    public function Link()
    {
        if ($this->Environment()->IsNewDeployEnabled()) {
            return \Controller::join_links($this->Environment()->Link(\EnvironmentOverview::ACTION_OVERVIEW), 'deployment', $this->ID);
        } else {
            return \Controller::join_links($this->Environment()->Link(), 'deploy', $this->ID);
        }
    }

Usage Example

コード例 #1
0
ファイル: DNRoot.php プロジェクト: adrexia/deploynaut
 /**
  * Deployment form submission handler.
  *
  * Initiate a DNDeployment record and redirect to it for status polling
  * 
  * @return \SS_HTTPResponse
  */
 public function doDeploy($data, $form)
 {
     if (in_array($data['SelectRelease'], array('Tag', 'Branch', 'Redeploy', 'SHA'))) {
         $buildName = $data[$data['SelectRelease']];
     } else {
         throw new LogicException("Bad release selection method " . Convert::raw2xml($data['SelectRelease']));
     }
     if (!preg_match('/^[a-f0-9]{40}$/', $buildName)) {
         throw new LogicException("Bad commit SHA");
     }
     // Performs canView permission check by limiting visible projects
     $project = $this->getCurrentProject();
     if (!$project) {
         return new SS_HTTPResponse("Project '" . Convert::raw2xml($this->getRequest()->latestParam('Project')) . "' not found.", 404);
     }
     // Performs canView permission check by limiting visible projects
     $environment = $this->getCurrentEnvironment($project);
     if (!$environment) {
         return new SS_HTTPResponse("Environment '" . Convert::raw2xml($this->getRequest()->latestParam('Environment')) . "' not found.", 404);
     }
     $sha = $project->DNBuildList()->byName($buildName);
     $deployment = new DNDeployment();
     $deployment->EnvironmentID = $environment->ID;
     $deployment->SHA = $sha->FullName();
     $deployment->write();
     $deployment->start();
     $this->redirect($deployment->Link());
 }