refactor: Improve code structure in ApplicationDeploymentJob.php

This commit is contained in:
Andras Bacsai 2024-05-29 15:17:39 +02:00
parent 5bacd63805
commit 5093697b27

View File

@ -1,3 +1,4 @@
Logo of Safetyper
<?php <?php
namespace App\Jobs; namespace App\Jobs;
@ -817,7 +818,6 @@ class ApplicationDeploymentJob implements ShouldQueue, ShouldBeEncrypted
$this->env_filename = null; $this->env_filename = null;
if ($this->use_build_server) { if ($this->use_build_server) {
$this->server = $this->original_server; $this->server = $this->original_server;
}
$this->execute_remote_command( $this->execute_remote_command(
[ [
"command" => "rm -f $this->configuration_dir/{$this->env_filename}", "command" => "rm -f $this->configuration_dir/{$this->env_filename}",
@ -825,8 +825,22 @@ class ApplicationDeploymentJob implements ShouldQueue, ShouldBeEncrypted
"ignore_errors" => true "ignore_errors" => true
] ]
); );
if ($this->use_build_server) {
$this->server = $this->build_server; $this->server = $this->build_server;
$this->execute_remote_command(
[
"command" => "rm -f $this->configuration_dir/{$this->env_filename}",
"hidden" => true,
"ignore_errors" => true
]
);
} else {
$this->execute_remote_command(
[
"command" => "rm -f $this->configuration_dir/{$this->env_filename}",
"hidden" => true,
"ignore_errors" => true
]
);
} }
} else { } else {
$envs_base64 = base64_encode($envs->implode("\n")); $envs_base64 = base64_encode($envs->implode("\n"));
@ -838,39 +852,22 @@ class ApplicationDeploymentJob implements ShouldQueue, ShouldBeEncrypted
); );
if ($this->use_build_server) { if ($this->use_build_server) {
$this->server = $this->original_server; $this->server = $this->original_server;
}
$this->execute_remote_command( $this->execute_remote_command(
[ [
"echo '$envs_base64' | base64 -d | tee $this->configuration_dir/{$this->env_filename} > /dev/null" "echo '$envs_base64' | base64 -d | tee $this->configuration_dir/{$this->env_filename} > /dev/null"
] ]
); );
if ($this->use_build_server) {
$this->server = $this->build_server; $this->server = $this->build_server;
} else {
$this->execute_remote_command(
[
"echo '$envs_base64' | base64 -d | tee $this->configuration_dir/{$this->env_filename} > /dev/null"
]
);
} }
}
// $this->execute_remote_command([
// executeInDocker($this->deployment_uuid, "cat $this->workdir/.env 2>/dev/null || true"),
// "hidden" => true,
// "save" => "dotenv"
// ]);
// if (str($this->saved_outputs->get('dotenv'))->isNotEmpty()) {
// $base64_dotenv = base64_encode($this->saved_outputs->get('dotenv')->value());
// $this->execute_remote_command(
// [
// "echo '{$base64_dotenv}' | base64 -d | tee $this->configuration_dir/.env > /dev/null"
// ]
// );
// } else {
// $this->execute_remote_command(
// [
// "command" => "rm -f $this->configuration_dir/.env",
// "hidden" => true,
// "ignore_errors" => true
// ]
// );
// }
} }
}
private function framework_based_notification() private function framework_based_notification()
@ -1052,6 +1049,14 @@ class ApplicationDeploymentJob implements ShouldQueue, ShouldBeEncrypted
} }
private function create_workdir() private function create_workdir()
{ {
if ($this->use_build_server) {
$this->server = $this->original_server;
$this->execute_remote_command(
[
"command" => "mkdir -p {$this->configuration_dir}"
],
);
$this->server = $this->build_server;
$this->execute_remote_command( $this->execute_remote_command(
[ [
"command" => executeInDocker($this->deployment_uuid, "mkdir -p {$this->workdir}") "command" => executeInDocker($this->deployment_uuid, "mkdir -p {$this->workdir}")
@ -1060,6 +1065,16 @@ class ApplicationDeploymentJob implements ShouldQueue, ShouldBeEncrypted
"command" => "mkdir -p {$this->configuration_dir}" "command" => "mkdir -p {$this->configuration_dir}"
], ],
); );
} else {
$this->execute_remote_command(
[
"command" => executeInDocker($this->deployment_uuid, "mkdir -p {$this->workdir}")
],
[
"command" => "mkdir -p {$this->configuration_dir}"
],
);
}
} }
private function prepare_builder_image() private function prepare_builder_image()
{ {
@ -1195,7 +1210,6 @@ class ApplicationDeploymentJob implements ShouldQueue, ShouldBeEncrypted
], ],
); );
} }
ray("GIT_SSH_COMMAND=\"ssh -o ConnectTimeout=30 -p {$this->customPort} -o Port={$this->customPort} -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null\" git ls-remote {$this->fullRepoUrl} {$local_branch}");
if ($this->saved_outputs->get('git_commit_sha') && !$this->rollback) { if ($this->saved_outputs->get('git_commit_sha') && !$this->rollback) {
$this->commit = $this->saved_outputs->get('git_commit_sha')->before("\t"); $this->commit = $this->saved_outputs->get('git_commit_sha')->before("\t");
$this->application_deployment_queue->commit = $this->commit; $this->application_deployment_queue->commit = $this->commit;
@ -1211,7 +1225,6 @@ class ApplicationDeploymentJob implements ShouldQueue, ShouldBeEncrypted
if ($this->pull_request_id !== 0) { if ($this->pull_request_id !== 0) {
$this->application_deployment_queue->addLogEntry("Checking out tag pull/{$this->pull_request_id}/head."); $this->application_deployment_queue->addLogEntry("Checking out tag pull/{$this->pull_request_id}/head.");
} }
ray($importCommands);
$this->execute_remote_command( $this->execute_remote_command(
[ [
$importCommands, "hidden" => true $importCommands, "hidden" => true
@ -1225,8 +1238,6 @@ class ApplicationDeploymentJob implements ShouldQueue, ShouldBeEncrypted
"save" => "commit_message" "save" => "commit_message"
] ]
); );
ray($this->saved_outputs->get('commit_message'));
raY($this->commit);
if ($this->saved_outputs->get('commit_message')) { if ($this->saved_outputs->get('commit_message')) {
$commit_message = str($this->saved_outputs->get('commit_message'))->limit(47); $commit_message = str($this->saved_outputs->get('commit_message'))->limit(47);
$this->application_deployment_queue->commit_message = $commit_message->value(); $this->application_deployment_queue->commit_message = $commit_message->value();