refactor: 分隔本地部署和远程部署过程

This commit is contained in:
Tsukasa 2019-07-22 08:45:59 +00:00
parent 925deed5d5
commit d5feceba82

View File

@ -9,25 +9,8 @@
throw new Exception("Need --repository param", 1);
}
if (empty($app_dir)) {
throw new Exception("Need --app_dir param", 1);
}
if (empty($app_user)) {
throw new Exception("Need --app_user param", 1);
}
if (empty($branch)) {
$branch = 'master';
}
$release_no = date('YmdHis');
$releases_dir = $app_dir . '/releases';
$storage_dir = $app_dir . '/storage';
$public_vendor_dir = $app_dir . '/vendor';
$new_release_dir = $releases_dir .'/'. $release_no;
if ($remote) {
if (empty($remote_dir)) {
throw new Exception('Need --remote_dir param', 1);
@ -42,15 +25,33 @@
$remote_public_vendor_dir = $remote_dir . '/vendor';
$remote_new_release_dir = $remote_releases_dir .'/'. $release_no;
$remote_tmp = '/tmp/' . $release_no;
$work_dir = $remote_tmp;
} else {
if (empty($app_dir)) {
throw new Exception("Need --app_dir param", 1);
}
if (empty($app_user)) {
throw new Exception("Need --app_user param", 1);
}
if (empty($branch)) {
$branch = 'master';
}
$releases_dir = $app_dir . '/releases';
$storage_dir = $app_dir . '/storage';
$public_vendor_dir = $app_dir . '/vendor';
$new_release_dir = $releases_dir .'/'. $release_no;
$work_dir = $new_release_dir;
}
@endsetup
@story('deploy')
clone_repository
run_composer
update_symlinks
change_owner
@if($remote)
ssh_create_release_dir
ssh_copy_to_remote
@ -58,6 +59,10 @@
update_symlinks_on_remote
change_owner_on_remote
clear_temp_file
@else
run_composer
update_symlinks
change_owner
@endif
@endstory
@ -68,11 +73,11 @@
@if($commit)
@if($project_dir)
echo 'Copy repository from workspace'
cp -r {{ $project_dir }} {{ $new_release_dir }}
cp -r {{ $project_dir }} {{ $work_dir }}
@else
echo 'Clone branch {{ $branch }} to {{ $new_release_dir }} with all commits'
mkdir {{ $new_release_dir }}
cd {{ $new_release_dir }}
echo 'Clone branch {{ $branch }} to {{ $work_dir }} with all commits'
mkdir {{ $work_dir }}
cd {{ $work_dir }}
git init
git remote add origin {{ $repository }}
git fetch origin {{ $branch }}
@ -82,18 +87,14 @@
git checkout {{ $commit }}
git clean -xfd
@else
echo 'Clone {{ $branch }} to {{ $new_release_dir }} with 1 depth'
git clone -b {{ $branch }} --depth 1 {{ $repository }} {{ $new_release_dir }}
echo 'Clone {{ $branch }} to {{ $work_dir }} with 1 depth'
git clone -b {{ $branch }} --depth 1 {{ $repository }} {{ $work_dir }}
@endif
echo 'Remove .git directory'
cd {{ $new_release_dir }}
cd {{ $work_dir }}
rm -rf .git
@if($remote)
cp -r {{ $new_release_dir }} {{ $remote_tmp }}
@endif
@endtask
@task('run_composer', ['on' => 'localhost'])