mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-21 19:01:37 +00:00
43 lines
979 B
PHP
43 lines
979 B
PHP
<?php
|
|
|
|
namespace App\SSH\Git;
|
|
|
|
use App\Exceptions\SSHError;
|
|
use App\Models\Site;
|
|
|
|
class Git
|
|
{
|
|
/**
|
|
* @throws SSHError
|
|
*/
|
|
public function clone(Site $site): void
|
|
{
|
|
$site->server->ssh($site->user)->exec(
|
|
view('ssh.git.clone', [
|
|
'host' => str($site->getFullRepositoryUrl())->after('@')->before('-'),
|
|
'repo' => $site->getFullRepositoryUrl(),
|
|
'path' => $site->path,
|
|
'branch' => $site->branch,
|
|
'key' => $site->getSshKeyName(),
|
|
]),
|
|
'clone-repository',
|
|
$site->id
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @throws SSHError
|
|
*/
|
|
public function checkout(Site $site): void
|
|
{
|
|
$site->server->ssh($site->user)->exec(
|
|
view('ssh.git.checkout', [
|
|
'path' => $site->path,
|
|
'branch' => $site->branch,
|
|
]),
|
|
'checkout-branch',
|
|
$site->id
|
|
);
|
|
}
|
|
}
|