Esempio n. 1
0
 /**
  * @param Dispatcher $bus
  * @throws \Exception
  */
 public function handle(Dispatcher $bus)
 {
     try {
         if ($this->release->isCancelled()) {
             return;
         }
         $this->release->update(['status' => Release::PREPARING]);
         $this->release->logger()->comment("Preparing release...");
         $this->prepareReleaseDir();
         $this->createArchive();
         $this->extractArchive();
         $this->writePlaybooks();
         if ($this->release->isCancelled()) {
             return;
         }
         if ($this->sync) {
             $bus->dispatchNow(new PlaybookJob($this->release));
             $bus->dispatchNow(new CleanupReleasesJob($this->release->repo));
         } else {
             $bus->dispatch(new PlaybookJob($this->release));
             $bus->dispatch(new CleanupReleasesJob($this->release->repo));
         }
     } catch (\Exception $e) {
         $this->release->update(['status' => Release::ERROR, 'raw_logs' => $e->getMessage()]);
         $this->release->logger()->push();
         throw $e;
     }
 }
Esempio n. 2
0
 /**
  * @param Process $process
  * @return callable
  */
 public function updateRelease(Process $process)
 {
     $out = $process->getIncrementalOutput() . $process->getIncrementalErrorOutput();
     $this->release->update(['raw_log' => $process->getOutput() . PHP_EOL . $process->getErrorOutput()]);
     if (!empty($out)) {
         $this->release->logger()->info($out);
     }
 }