fix: only append docker network if service/app is running
This commit is contained in:
@@ -451,6 +451,11 @@ class Application extends BaseModel
|
||||
);
|
||||
}
|
||||
|
||||
public function isRunning()
|
||||
{
|
||||
return (bool) str($this->status)->startsWith('running');
|
||||
}
|
||||
|
||||
public function isExited()
|
||||
{
|
||||
return (bool) str($this->status)->startsWith('exited');
|
||||
|
||||
@@ -35,6 +35,11 @@ class ApplicationPreview extends BaseModel
|
||||
return self::where('application_id', $application_id)->where('pull_request_id', $pull_request_id)->firstOrFail();
|
||||
}
|
||||
|
||||
public function isRunning()
|
||||
{
|
||||
return (bool) str($this->status)->startsWith('running');
|
||||
}
|
||||
|
||||
public function application()
|
||||
{
|
||||
return $this->belongsTo(Application::class);
|
||||
|
||||
@@ -77,6 +77,11 @@ class Service extends BaseModel
|
||||
}
|
||||
}
|
||||
|
||||
public function isRunning()
|
||||
{
|
||||
return (bool) str($this->status())->contains('running');
|
||||
}
|
||||
|
||||
public function isExited()
|
||||
{
|
||||
return (bool) str($this->status())->contains('exited');
|
||||
|
||||
@@ -36,16 +36,23 @@ function collectDockerNetworksByServer(Server $server)
|
||||
}
|
||||
// Service networks
|
||||
foreach ($server->services()->get() as $service) {
|
||||
$networks->push($service->networks());
|
||||
if ($service->isRunning()) {
|
||||
$networks->push($service->networks());
|
||||
}
|
||||
}
|
||||
// Docker compose based apps
|
||||
$docker_compose_apps = $server->dockerComposeBasedApplications();
|
||||
foreach ($docker_compose_apps as $app) {
|
||||
$networks->push($app->uuid);
|
||||
if ($app->isRunning()) {
|
||||
$networks->push($app->uuid);
|
||||
}
|
||||
}
|
||||
// Docker compose based preview deployments
|
||||
$docker_compose_previews = $server->dockerComposeBasedPreviewDeployments();
|
||||
foreach ($docker_compose_previews as $preview) {
|
||||
if (! $preview->isRunning()) {
|
||||
continue;
|
||||
}
|
||||
$pullRequestId = $preview->pull_request_id;
|
||||
$applicationId = $preview->application_id;
|
||||
$application = Application::find($applicationId);
|
||||
|
||||
Reference in New Issue
Block a user