2016-11-19 15:13:32 +07:00
|
|
|
<?php
|
|
|
|
namespace Deployer;
|
|
|
|
|
2017-01-19 11:10:30 +07:00
|
|
|
use Deployer\Exception\GracefulShutdownException;
|
|
|
|
|
2016-11-19 15:13:32 +07:00
|
|
|
desc('Lock deploy');
|
|
|
|
task('deploy:lock', function () {
|
2021-10-16 00:28:06 +02:00
|
|
|
$user = escapeshellarg(get('user'));
|
|
|
|
$locked = run("[ -f {{deploy_path}}/.dep/deploy.lock ] && echo +locked || echo $user > {{deploy_path}}/.dep/deploy.lock");
|
|
|
|
if ($locked === '+locked') {
|
2017-01-19 11:10:30 +07:00
|
|
|
throw new GracefulShutdownException(
|
2016-11-19 15:13:32 +07:00
|
|
|
"Deploy locked.\n" .
|
2020-10-25 16:00:05 +01:00
|
|
|
"Execute \"deploy:unlock\" task to unlock."
|
2016-11-19 15:13:32 +07:00
|
|
|
);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
desc('Unlock deploy');
|
|
|
|
task('deploy:unlock', function () {
|
2017-01-12 11:50:46 +07:00
|
|
|
run("rm -f {{deploy_path}}/.dep/deploy.lock");//always success
|
2016-11-19 15:13:32 +07:00
|
|
|
});
|
2020-09-03 15:17:52 +02:00
|
|
|
|
2021-10-11 22:08:58 +02:00
|
|
|
desc('Check if deploy is locked');
|
|
|
|
task('deploy:is_locked', function () {
|
2020-09-03 15:17:52 +02:00
|
|
|
$locked = test("[ -f {{deploy_path}}/.dep/deploy.lock ]");
|
|
|
|
if ($locked) {
|
2021-10-11 22:08:58 +02:00
|
|
|
throw new GracefulShutdownException("Deploy is locked.");
|
2020-09-03 15:17:52 +02:00
|
|
|
}
|
2021-10-11 22:08:58 +02:00
|
|
|
info('Deploy is unlocked.');
|
2020-09-03 15:17:52 +02:00
|
|
|
});
|