runPull()) { $this->error("An error occurred while executing 'git pull'. \nLogs:"); foreach($this->pullLog as $logLine) { $this->info($logLine); } return; } if($this->alreadyUpToDate) { $this->info("The application is already up-to-date"); return; } if(!$this->runComposer()) { $this->error("Error while updating composer files. \nLogs:"); foreach($this->composerLog as $logLine) { $this->info($logLine); } return; } $this->info("Succesfully updated the application."); } /** * Run git pull process * * @return boolean */ private function runPull() { chdir("/var/www/MORBLOX-WEBSITE/morblox-site"); $chown = new Process(['sudo', 'chown', '$(whoami)', '/var/www/']); $exception = new Process(['/usr/bin/git', 'config', '--global', '--add', 'safe.directory', '/var/www/MORBLOX-WEBSITE/morblox-site']); $process = new Process(['/usr/bin/git', 'pull']); $this->info("Running 'git pull'"); $chown->run(function($type, $buffer) { $this->pullLog[] = $buffer; }); $exception->run(function($type, $buffer) { $this->pullLog[] = $buffer; }); $process->run(function($type, $buffer) { $this->pullLog[] = $buffer; if($buffer == "Already up to date.\n") { $this->alreadyUpToDate = TRUE; } }); return $process->isSuccessful(); } /** * Run composer install process * * @return boolean */ private function runComposer() { $process = new Process(['composer install']); $this->info("Running 'composer install'"); $process->run(function($type, $buffer) { $this->composerLog[] = $buffer; }); return $process->isSuccessful(); } }