Rocketeer\Tasks\Rollback::execute PHP Method

execute() public method

Run the task.
public execute ( ) : string | null
return string | null
    public function execute()
    {
        $releases = $this->releasesManager->getReleases();
        // Get previous release
        $rollbackRelease = $this->getRollbackRelease();
        if (!$rollbackRelease) {
            return $this->explainer->error('Rocketeer could not rollback as no releases have yet been deployed');
        }
        // If no release specified, display the available ones
        if ($this->command->option('list')) {
            $this->displayReleases();
            // Get actual release name from date
            $rollbackRelease = $this->command->askWith('Which one do you want to go back to ?', 0);
            $rollbackRelease = $releases[$rollbackRelease];
        }
        // Check if release actually exists
        if (!in_array($rollbackRelease, $releases, true)) {
            return $this->explainer->error('Unable to find release:' . $rollbackRelease);
        }
        // Rollback release
        $this->updateSymlink($rollbackRelease);
        return $this->explainer->success('Rolling back to release ' . $rollbackRelease);
    }