mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-21 02:39:10 -04:00
Ajout 736 CI/CD
This commit is contained in:
@@ -11,7 +11,8 @@ variables:
|
||||
|
||||
stages:
|
||||
- test
|
||||
- deploy
|
||||
- deploy_697
|
||||
- deploy_736
|
||||
|
||||
unit_test:
|
||||
stage: test
|
||||
@@ -21,7 +22,7 @@ unit_test:
|
||||
- php artisan key:generate
|
||||
|
||||
deploy_production:
|
||||
stage: deploy
|
||||
stage: deploy_697
|
||||
script:
|
||||
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
|
||||
- eval $(ssh-agent -s)
|
||||
@@ -29,10 +30,25 @@ deploy_production:
|
||||
- mkdir -p ~/.ssh
|
||||
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
|
||||
|
||||
- ~/.composer/vendor/bin/envoy run deploy --commit="$CI_COMMIT_SHA"
|
||||
- ~/.composer/vendor/bin/envoy run deploy_697 --commit="$CI_COMMIT_SHA"
|
||||
environment:
|
||||
name: production
|
||||
url: http://dev.exvps.ca
|
||||
when: manual
|
||||
name: 697
|
||||
url: http://escadron697.ca
|
||||
only:
|
||||
- master
|
||||
|
||||
deploy_production:
|
||||
stage: deploy_736
|
||||
script:
|
||||
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
|
||||
- eval $(ssh-agent -s)
|
||||
- ssh-add <(echo "$SSH_PRIVATE_KEY")
|
||||
- mkdir -p ~/.ssh
|
||||
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
|
||||
|
||||
- ~/.composer/vendor/bin/envoy run deploy_736 --commit="$CI_COMMIT_SHA"
|
||||
environment:
|
||||
name: 697
|
||||
url: http://736.exvps.ca
|
||||
only:
|
||||
- master
|
||||
@@ -2,43 +2,83 @@
|
||||
|
||||
@setup
|
||||
$repository = 'git@gitlab.com:TheGamecraft/c-cms.git';
|
||||
$releases_dir = '/var/www/c-cms/escadron697/releases';
|
||||
$app_dir = '/var/www/c-cms/escadron697';
|
||||
$release = date('YmdHis');
|
||||
$new_release_dir = $releases_dir .'/'. $release;
|
||||
|
||||
$releases_dir_697 = '/var/www/c-cms/escadron697/releases';
|
||||
$app_dir_697 = '/var/www/c-cms/escadron697';
|
||||
$new_release_dir_697 = $releases_dir_697 .'/'. $release;
|
||||
|
||||
$releases_dir_736 = '/var/www/c-cms/escadron736/releases';
|
||||
$app_dir_736 = '/var/www/c-cms/escadron736';
|
||||
$new_release_dir_736 = $releases_dir_736 .'/'. $release;
|
||||
@endsetup
|
||||
|
||||
@story('deploy')
|
||||
clone_repository
|
||||
run_composer
|
||||
update_symlinks
|
||||
@story('deploy_697')
|
||||
clone_repository_697
|
||||
run_composer_697
|
||||
update_symlinks_697
|
||||
@endstory
|
||||
|
||||
@task('clone_repository')
|
||||
@story('deploy_736')
|
||||
clone_repository_736
|
||||
run_composer_736
|
||||
update_symlinks_736
|
||||
@endstory
|
||||
|
||||
@task('clone_repository_697')
|
||||
echo 'Cloning repository'
|
||||
[ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }}
|
||||
git clone --depth 1 {{ $repository }} {{ $new_release_dir }}
|
||||
cd {{ $new_release_dir }}
|
||||
[ -d {{ $releases_dir_697 }} ] || mkdir {{ $releases_dir_697 }}
|
||||
git clone --depth 1 {{ $repository }} {{ $new_release_dir_697 }}
|
||||
cd {{ $new_release_dir_697 }}
|
||||
git reset --hard {{ $commit }}
|
||||
@endtask
|
||||
|
||||
@task('run_composer')
|
||||
@task('run_composer_697')
|
||||
echo "Starting deployment ({{ $release }})"
|
||||
cd {{ $new_release_dir }}
|
||||
cd {{ $new_release_dir_697 }}
|
||||
composer install --prefer-dist --no-scripts -q -o
|
||||
@endtask
|
||||
|
||||
@task('update_symlinks')
|
||||
@task('update_symlinks_697')
|
||||
echo "Linking storage directory"
|
||||
rm -rf {{ $new_release_dir }}/storage
|
||||
ln -nfs {{ $app_dir }}/storage {{ $new_release_dir }}/storage
|
||||
rm -rf {{ $new_release_dir_697 }}/storage
|
||||
ln -nfs {{ $app_dir_697 }}/storage {{ $new_release_dir_697 }}/storage
|
||||
|
||||
echo 'Linking .env file'
|
||||
ln -nfs {{ $app_dir }}/.env {{ $new_release_dir }}/.env
|
||||
ln -nfs {{ $app_dir_697 }}/.env {{ $new_release_dir_697 }}/.env
|
||||
|
||||
echo 'Linking current release'
|
||||
ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current
|
||||
ln -nfs {{ $new_release_dir_697 }} {{ $app_dir_697 }}/current
|
||||
|
||||
echo 'Setting permission'
|
||||
chmod -R 777 {{ $app_dir }}/current/bootstrap/
|
||||
chmod -R 777 {{ $app_dir_697 }}/current/bootstrap/
|
||||
@endtask
|
||||
|
||||
@task('clone_repository_736')
|
||||
echo 'Cloning repository'
|
||||
[ -d {{ $releases_dir_736 }} ] || mkdir {{ $releases_dir_736 }}
|
||||
git clone --depth 1 {{ $repository }} {{ $new_release_dir_736 }}
|
||||
cd {{ $new_release_dir_736 }}
|
||||
git reset --hard {{ $commit }}
|
||||
@endtask
|
||||
|
||||
@task('run_composer_736')
|
||||
echo "Starting deployment ({{ $release }})"
|
||||
cd {{ $new_release_dir_736 }}
|
||||
composer install --prefer-dist --no-scripts -q -o
|
||||
@endtask
|
||||
|
||||
@task('update_symlinks_736')
|
||||
echo "Linking storage directory"
|
||||
rm -rf {{ $new_release_dir_736 }}/storage
|
||||
ln -nfs {{ $app_dir_736 }}/storage {{ $new_release_dir_736 }}/storage
|
||||
|
||||
echo 'Linking .env file'
|
||||
ln -nfs {{ $app_dir_736 }}/.env {{ $new_release_dir_736 }}/.env
|
||||
|
||||
echo 'Linking current release'
|
||||
ln -nfs {{ $new_release_dir_736 }} {{ $app_dir_736 }}/current
|
||||
|
||||
echo 'Setting permission'
|
||||
chmod -R 777 {{ $app_dir_736 }}/current/bootstrap/
|
||||
@endtask
|
||||
Reference in New Issue
Block a user