fix(DeleteResourceJob): escape deployment UUID and stack name in Docker commands
This commit is contained in:
parent
28b38babca
commit
0039be49b2
1 changed files with 5 additions and 3 deletions
|
|
@ -145,11 +145,12 @@ private function deleteApplicationPreview()
|
||||||
|
|
||||||
// Check if helper container exists and kill it
|
// Check if helper container exists and kill it
|
||||||
$deployment_uuid = $activeDeployment->deployment_uuid;
|
$deployment_uuid = $activeDeployment->deployment_uuid;
|
||||||
$checkCommand = "docker ps -a --filter name={$deployment_uuid} --format '{{.Names}}'";
|
$escapedDeploymentUuid = escapeshellarg($deployment_uuid);
|
||||||
|
$checkCommand = "docker ps -a --filter name={$escapedDeploymentUuid} --format '{{.Names}}'";
|
||||||
$containerExists = instant_remote_process([$checkCommand], $server);
|
$containerExists = instant_remote_process([$checkCommand], $server);
|
||||||
|
|
||||||
if ($containerExists && str($containerExists)->trim()->isNotEmpty()) {
|
if ($containerExists && str($containerExists)->trim()->isNotEmpty()) {
|
||||||
instant_remote_process(["docker rm -f {$deployment_uuid}"], $server);
|
instant_remote_process(["docker rm -f {$escapedDeploymentUuid}"], $server);
|
||||||
$activeDeployment->addLogEntry('Deployment container stopped.');
|
$activeDeployment->addLogEntry('Deployment container stopped.');
|
||||||
} else {
|
} else {
|
||||||
$activeDeployment->addLogEntry('Helper container not yet started. Deployment will be cancelled when job checks status.');
|
$activeDeployment->addLogEntry('Helper container not yet started. Deployment will be cancelled when job checks status.');
|
||||||
|
|
@ -162,7 +163,8 @@ private function deleteApplicationPreview()
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if ($server->isSwarm()) {
|
if ($server->isSwarm()) {
|
||||||
instant_remote_process(["docker stack rm {$application->uuid}-{$pull_request_id}"], $server);
|
$escapedStackName = escapeshellarg("{$application->uuid}-{$pull_request_id}");
|
||||||
|
instant_remote_process(["docker stack rm {$escapedStackName}"], $server);
|
||||||
} else {
|
} else {
|
||||||
$containers = getCurrentApplicationContainerStatus($server, $application->id, $pull_request_id)->toArray();
|
$containers = getCurrentApplicationContainerStatus($server, $application->id, $pull_request_id)->toArray();
|
||||||
$this->stopPreviewContainers($containers, $server);
|
$this->stopPreviewContainers($containers, $server);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue