add envoy and jenkinsfile
WMS API/PXG_2026_API/pipeline/head There was a failure building this commit
Details
WMS API/PXG_2026_API/pipeline/head There was a failure building this commit
Details
This commit is contained in:
parent
d61b3651ba
commit
2cb7e44930
|
|
@ -0,0 +1,75 @@
|
|||
@servers(['prod' => 'ubuntu@172.26.12.217', 'dev' => 'ubuntu@smgdev.top'])
|
||||
|
||||
@setup
|
||||
$repository = 'git@172.26.1.255:SMG_DEV/PXG_2026_API.git';
|
||||
$folder = isset($folder) ? $folder : 'tournament/api';
|
||||
$releases_dir = '/var/www/'.$folder.'/releases';
|
||||
$app_dir = '/var/www/'.$folder;
|
||||
$release = date('YmdHis');
|
||||
$branch = isset($branch) ? $branch : 'production';
|
||||
$new_release_dir = $releases_dir .'/'. $release;
|
||||
@endsetup
|
||||
|
||||
@task('clone_repository')
|
||||
echo 'Cloning repository'
|
||||
[ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }}
|
||||
git clone --depth 1 --single-branch --branch {{ $branch }} {{ $repository }} {{ $new_release_dir }}
|
||||
cd {{ $new_release_dir }}
|
||||
@endtask
|
||||
|
||||
@task('run_composer')
|
||||
echo "Starting deployment ({{ $release }})"
|
||||
cd {{ $new_release_dir }}
|
||||
composer install --prefer-dist --no-scripts -q -o
|
||||
@endtask
|
||||
|
||||
@task('update_symlinks')
|
||||
echo "Linking storage directory"
|
||||
rm -rf {{ $new_release_dir }}/storage
|
||||
ln -nfs {{ $app_dir }}/storage {{ $new_release_dir }}/storage
|
||||
|
||||
echo 'Linking .env file'
|
||||
ln -nfs {{ $app_dir }}/.env {{ $new_release_dir }}/.env
|
||||
|
||||
echo 'Linking current release'
|
||||
ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current
|
||||
@endtask
|
||||
|
||||
@task('setup_laravel')
|
||||
cd {{ $app_dir }}/current
|
||||
php artisan migrate --force
|
||||
php artisan storage:link
|
||||
@endtask
|
||||
|
||||
@task('clean_old_releases')
|
||||
# This lists our releases by modification time and delete all but the 3 most recent.
|
||||
purging=$(ls -dt {{ $releases_dir }}/* | tail -n +5);
|
||||
|
||||
if [ "{{ $releases_dir }}" != "" ]; then
|
||||
|
||||
if [ "$purging" != "" ]; then
|
||||
echo Purging old releases: $purging;
|
||||
rm -rf $purging;
|
||||
else
|
||||
echo "No releases found for purging at this time";
|
||||
fi
|
||||
|
||||
fi
|
||||
@endtask
|
||||
|
||||
@story('deploy',["on" => "prod"])
|
||||
clone_repository
|
||||
run_composer
|
||||
update_symlinks
|
||||
setup_laravel
|
||||
clean_old_releases
|
||||
@endstory
|
||||
|
||||
|
||||
@story('deploy-dev',["on" => "dev"])
|
||||
clone_repository
|
||||
run_composer
|
||||
update_symlinks
|
||||
setup_laravel
|
||||
clean_old_releases
|
||||
@endstory
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
pipeline {
|
||||
agent any
|
||||
stages
|
||||
{
|
||||
stage("Deploy Dev"){
|
||||
when {
|
||||
branch 'development'
|
||||
}
|
||||
steps {
|
||||
sshagent(credentials: ['dev-id_rsa']) {
|
||||
sh "composer install"
|
||||
sh "./vendor/bin/envoy run deploy-dev --branch=development"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage("Deploy Prod"){
|
||||
when {
|
||||
branch 'production'
|
||||
}
|
||||
steps {
|
||||
sshagent(credentials: ['dev-id_rsa']) {
|
||||
sh "composer install"
|
||||
sh "./vendor/bin/envoy run deploy --branch=production"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue