mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-22 19:22:19 +00:00
* WIP to isolate users * Resolved issue with SSH AsUser Updated Isolated User Script to use Server User for Team Access Updated Path creation script to simplify for running as the isolated user * Included the server user * PHPMyAdmin script updated Wordpress Script Updated Updated Execute Script to support executing as isolated users * Issue Resolution & Resolved Failing Unit Tests * Fix for isolated_username vs user * Run the deploy as the isolated user * queue updates for isolated user * Support isolated users in cronjobs * script tests for isolated users * Queue tests for isolated users * Cronjob tests for isolated user * Removed default queue command for laravel apps * add default user to factory * laravel pint fixes * ensure echos are consistent * removed unneeded parameter * update * fix queues for isolated users * revert addslashes --------- Co-authored-by: Saeed Vaziry <mr.saeedvaziry@gmail.com>
39 lines
944 B
PHP
Executable File
39 lines
944 B
PHP
Executable File
<?php
|
|
|
|
namespace App\SiteTypes;
|
|
|
|
use App\Exceptions\FailedToDeployGitKey;
|
|
use App\Models\Site;
|
|
|
|
abstract class AbstractSiteType implements SiteType
|
|
{
|
|
protected Site $site;
|
|
|
|
public function __construct(Site $site)
|
|
{
|
|
$this->site = $site;
|
|
}
|
|
|
|
protected function progress(int $percentage): void
|
|
{
|
|
$this->site->progress = $percentage;
|
|
$this->site->save();
|
|
}
|
|
|
|
/**
|
|
* @throws FailedToDeployGitKey
|
|
*/
|
|
protected function deployKey(): void
|
|
{
|
|
$os = $this->site->server->os();
|
|
$os->generateSSHKey($this->site->getSshKeyName(), $this->site);
|
|
$this->site->ssh_key = $os->readSSHKey($this->site->getSshKeyName(), $this->site);
|
|
$this->site->save();
|
|
$this->site->sourceControl?->provider()?->deployKey(
|
|
$this->site->domain.'-key-'.$this->site->id,
|
|
$this->site->repository,
|
|
$this->site->ssh_key
|
|
);
|
|
}
|
|
}
|