refactor: 分隔本地部署和远程部署过程
This commit is contained in:
parent
925deed5d5
commit
d5feceba82
|
|
@ -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'])
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user