feat: auto-deploy

This commit is contained in:
Andras Bacsai 2023-05-10 11:43:49 +02:00
parent c659683d92
commit c41bc8dac2
3 changed files with 20 additions and 11 deletions

View File

@ -135,4 +135,11 @@ class Application extends BaseModel
{ {
return Activity::where('subject_id', $this->id)->where('properties->type_uuid', '=', $deployment_uuid)->first(); return Activity::where('subject_id', $this->id)->where('properties->type_uuid', '=', $deployment_uuid)->first();
} }
public function isDeployable(): bool
{
if ($this->settings->is_auto_deploy) {
return true;
}
return false;
}
} }

View File

@ -49,7 +49,7 @@
label="Git Submodules Allowed?" /> label="Git Submodules Allowed?" />
<x-inputs.input noDirty instantSave type="checkbox" id="is_git_lfs_allowed" label="Git LFS Allowed?" /> <x-inputs.input noDirty instantSave type="checkbox" id="is_git_lfs_allowed" label="Git LFS Allowed?" />
<x-inputs.input noDirty instantSave type="checkbox" id="is_debug" label="Debug" /> <x-inputs.input noDirty instantSave type="checkbox" id="is_debug" label="Debug" />
<x-inputs.input disabled instantSave type="checkbox" id="is_auto_deploy" label="Auto Deploy?" /> <x-inputs.input noDirty instantSave type="checkbox" id="is_auto_deploy" label="Auto Deploy?" />
<x-inputs.input disabled instantSave type="checkbox" id="is_dual_cert" label="Dual Certs?" /> <x-inputs.input disabled instantSave type="checkbox" id="is_dual_cert" label="Dual Certs?" />
<x-inputs.input disabled instantSave type="checkbox" id="is_previews" label="Previews?" /> <x-inputs.input disabled instantSave type="checkbox" id="is_previews" label="Previews?" />
<x-inputs.input disabled instantSave type="checkbox" id="is_custom_ssl" label="Is Custom SSL?" /> <x-inputs.input disabled instantSave type="checkbox" id="is_custom_ssl" label="Is Custom SSL?" />

View File

@ -95,16 +95,18 @@ Route::post('/source/github/events', function () {
} }
$applications = Application::where('project_id', $id)->where('git_branch', $branch)->get(); $applications = Application::where('project_id', $id)->where('git_branch', $branch)->get();
foreach ($applications as $application) { foreach ($applications as $application) {
GithubEventsApplications::create([ if ($application->isDeployable()) {
"delivery_guid" => $x_github_delivery, GithubEventsApplications::create([
"application_id" => $application->id "delivery_guid" => $x_github_delivery,
]); "application_id" => $application->id
$deployment_uuid = new Cuid2(7); ]);
dispatch(new DeployApplicationJob( $deployment_uuid = new Cuid2(7);
deployment_uuid: $deployment_uuid, dispatch(new DeployApplicationJob(
application_uuid: $application->uuid, deployment_uuid: $deployment_uuid,
force_rebuild: false, application_uuid: $application->uuid,
)); force_rebuild: false,
));
}
} }
} catch (\Exception $e) { } catch (\Exception $e) {
return generalErrorHandler($e); return generalErrorHandler($e);