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:
|
stages:
|
||||||
- test
|
- test
|
||||||
- deploy
|
- deploy_697
|
||||||
|
- deploy_736
|
||||||
|
|
||||||
unit_test:
|
unit_test:
|
||||||
stage: test
|
stage: test
|
||||||
@@ -21,7 +22,7 @@ unit_test:
|
|||||||
- php artisan key:generate
|
- php artisan key:generate
|
||||||
|
|
||||||
deploy_production:
|
deploy_production:
|
||||||
stage: deploy
|
stage: deploy_697
|
||||||
script:
|
script:
|
||||||
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
|
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
|
||||||
- eval $(ssh-agent -s)
|
- eval $(ssh-agent -s)
|
||||||
@@ -29,10 +30,25 @@ deploy_production:
|
|||||||
- mkdir -p ~/.ssh
|
- mkdir -p ~/.ssh
|
||||||
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
|
- '[[ -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:
|
environment:
|
||||||
name: production
|
name: 697
|
||||||
url: http://dev.exvps.ca
|
url: http://escadron697.ca
|
||||||
when: manual
|
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:
|
only:
|
||||||
- master
|
- master
|
||||||
@@ -2,43 +2,83 @@
|
|||||||
|
|
||||||
@setup
|
@setup
|
||||||
$repository = 'git@gitlab.com:TheGamecraft/c-cms.git';
|
$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');
|
$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
|
@endsetup
|
||||||
|
|
||||||
@story('deploy')
|
@story('deploy_697')
|
||||||
clone_repository
|
clone_repository_697
|
||||||
run_composer
|
run_composer_697
|
||||||
update_symlinks
|
update_symlinks_697
|
||||||
@endstory
|
@endstory
|
||||||
|
|
||||||
@task('clone_repository')
|
@story('deploy_736')
|
||||||
|
clone_repository_736
|
||||||
|
run_composer_736
|
||||||
|
update_symlinks_736
|
||||||
|
@endstory
|
||||||
|
|
||||||
|
@task('clone_repository_697')
|
||||||
echo 'Cloning repository'
|
echo 'Cloning repository'
|
||||||
[ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }}
|
[ -d {{ $releases_dir_697 }} ] || mkdir {{ $releases_dir_697 }}
|
||||||
git clone --depth 1 {{ $repository }} {{ $new_release_dir }}
|
git clone --depth 1 {{ $repository }} {{ $new_release_dir_697 }}
|
||||||
cd {{ $new_release_dir }}
|
cd {{ $new_release_dir_697 }}
|
||||||
git reset --hard {{ $commit }}
|
git reset --hard {{ $commit }}
|
||||||
@endtask
|
@endtask
|
||||||
|
|
||||||
@task('run_composer')
|
@task('run_composer_697')
|
||||||
echo "Starting deployment ({{ $release }})"
|
echo "Starting deployment ({{ $release }})"
|
||||||
cd {{ $new_release_dir }}
|
cd {{ $new_release_dir_697 }}
|
||||||
composer install --prefer-dist --no-scripts -q -o
|
composer install --prefer-dist --no-scripts -q -o
|
||||||
@endtask
|
@endtask
|
||||||
|
|
||||||
@task('update_symlinks')
|
@task('update_symlinks_697')
|
||||||
echo "Linking storage directory"
|
echo "Linking storage directory"
|
||||||
rm -rf {{ $new_release_dir }}/storage
|
rm -rf {{ $new_release_dir_697 }}/storage
|
||||||
ln -nfs {{ $app_dir }}/storage {{ $new_release_dir }}/storage
|
ln -nfs {{ $app_dir_697 }}/storage {{ $new_release_dir_697 }}/storage
|
||||||
|
|
||||||
echo 'Linking .env file'
|
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'
|
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'
|
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
|
@endtask
|
||||||
Reference in New Issue
Block a user