feat: restart service without pulling the latest image
This commit is contained in:
@@ -108,6 +108,21 @@ class Navbar extends Component
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
StopService::run(service: $this->service, dockerCleanup: false);
|
||||||
|
$this->service->parse();
|
||||||
|
$this->dispatch('imagePulled');
|
||||||
|
$activity = StartService::run($this->service);
|
||||||
|
$this->dispatch('activityMonitor', $activity->id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function pullAndRestartEvent()
|
||||||
|
{
|
||||||
|
$this->checkDeployments();
|
||||||
|
if ($this->isDeploymentProgress) {
|
||||||
|
$this->dispatch('error', 'There is a deployment in progress.');
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
PullImage::run($this->service);
|
PullImage::run($this->service);
|
||||||
StopService::run(service: $this->service, dockerCleanup: false);
|
StopService::run(service: $this->service, dockerCleanup: false);
|
||||||
$this->service->parse();
|
$this->service->parse();
|
||||||
|
|||||||
@@ -22,7 +22,25 @@
|
|||||||
</nav>
|
</nav>
|
||||||
<div class="flex flex-wrap order-first gap-2 items-center sm:order-last">
|
<div class="flex flex-wrap order-first gap-2 items-center sm:order-last">
|
||||||
@if (str($service->status())->contains('running'))
|
@if (str($service->status())->contains('running'))
|
||||||
<button @click="$wire.dispatch('restartEvent')" class="gap-2 button">
|
<x-dropdown>
|
||||||
|
<x-slot:title>
|
||||||
|
Advanced
|
||||||
|
</x-slot>
|
||||||
|
<div class="dropdown-item" @click="$wire.dispatch('pullAndRestartEvent')">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
|
||||||
|
stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path
|
||||||
|
d="M12.983 8.978c3.955 -.182 7.017 -1.446 7.017 -2.978c0 -1.657 -3.582 -3 -8 -3c-1.661 0 -3.204 .19 -4.483 .515m-2.783 1.228c-.471 .382 -.734 .808 -.734 1.257c0 1.22 1.944 2.271 4.734 2.74" />
|
||||||
|
<path
|
||||||
|
d="M4 6v6c0 1.657 3.582 3 8 3c.986 0 1.93 -.067 2.802 -.19m3.187 -.82c1.251 -.53 2.011 -1.228 2.011 -1.99v-6" />
|
||||||
|
<path d="M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4" />
|
||||||
|
<path d="M3 3l18 18" />
|
||||||
|
</svg>
|
||||||
|
Pull Latest Images & Restart
|
||||||
|
</div>
|
||||||
|
</x-dropdown>
|
||||||
|
<x-forms.button title="Restart" @click="$wire.dispatch('restartEvent')">
|
||||||
<svg class="w-5 h-5 dark:text-warning" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
<svg class="w-5 h-5 dark:text-warning" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||||
<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
|
<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"
|
||||||
stroke-width="2">
|
stroke-width="2">
|
||||||
@@ -30,8 +48,8 @@
|
|||||||
<path d="M20 4v5h-5" />
|
<path d="M20 4v5h-5" />
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
Pull Latest Images & Restart
|
Restart
|
||||||
</button>
|
</x-forms.button>
|
||||||
<x-modal-confirmation title="Confirm Service Stopping?" buttonTitle="Stop" submitAction="stop"
|
<x-modal-confirmation title="Confirm Service Stopping?" buttonTitle="Stop" submitAction="stop"
|
||||||
:checkboxes="$checkboxes" :actions="[__('service.stop'), __('resource.non_persistent')]" :confirmWithText="false" :confirmWithPassword="false" step1ButtonText="Continue"
|
:checkboxes="$checkboxes" :actions="[__('service.stop'), __('resource.non_persistent')]" :confirmWithText="false" :confirmWithPassword="false" step1ButtonText="Continue"
|
||||||
step2ButtonText="Stop Service" :dispatchEvent="true" dispatchEventType="stopEvent">
|
step2ButtonText="Stop Service" :dispatchEvent="true" dispatchEventType="stopEvent">
|
||||||
@@ -135,9 +153,13 @@
|
|||||||
$wire.$call('start');
|
$wire.$call('start');
|
||||||
});
|
});
|
||||||
$wire.$on('restartEvent', () => {
|
$wire.$on('restartEvent', () => {
|
||||||
$wire.$dispatch('info', 'Pulling new images.');
|
$wire.$dispatch('info', 'Service restart in progress.');
|
||||||
$wire.$call('restart');
|
$wire.$call('restart');
|
||||||
});
|
});
|
||||||
|
$wire.$on('pullAndRestartEvent', () => {
|
||||||
|
$wire.$dispatch('info', 'Pulling new images.');
|
||||||
|
$wire.$call('pullAndRestartEvent');
|
||||||
|
});
|
||||||
$wire.on('imagePulled', () => {
|
$wire.on('imagePulled', () => {
|
||||||
window.dispatchEvent(new CustomEvent('startservice'));
|
window.dispatchEvent(new CustomEvent('startservice'));
|
||||||
$wire.$dispatch('info', 'Restarting service.');
|
$wire.$dispatch('info', 'Restarting service.');
|
||||||
|
|||||||
Reference in New Issue
Block a user