Weitere ähnliche Inhalte Ähnlich wie Laravel Day / Deploy (20) Mehr von Simone Gentili (9) Kürzlich hochgeladen (20) Laravel Day / Deploy19. $ git remote add bitbucket git@…
$ git push bitbucket master
(☞゚ヮ゚)☞
22. When someone pushes to the repo,
Pipelines runs the build in a Docker
image.
- https://confluence.atlassian.com
30. umask 077 ; echo $SSH_KEY |
base64 --decode > ~/.ssh/id_rsa
(◠‿◠)
33. branches:
master:
- step:
script:
- apt-get update && apt-get install -qy git curl libmcrypt-dev mysql-client zip unzip
- docker-php-ext-install mcrypt && docker-php-ext-install pdo_mysql
- apt-get update && apt-get install -y vim … …
- chmod +x install-composer.sh
- ./install-composer.sh
- composer dumpautoload
- composer install
- mkdir -p ~/.ssh
- cat my_known_hosts >> ~/.ssh/known_hosts
- (umask 077 ; echo $MY_SSH_KEY | base64 --decode > ~/.ssh/id_rsa)
- php artisan migrate
- ./runtests
- tar -czf build.tar.gz ./*
- sftp $SERVER_SSH_USER@$SERVER_SSH_IP <<< $'put build.tar.gznEXIT'
- ssh $SERVER_SSH_USER@$SERVER_SSH_IP ' export TEMP=tmp-folder && export CURRENT=/home/forge/www.example.com &&
export BACKUP=/home/forge/old_api && mkdir -p $CURRENT && mkdir -p /home/forge/$TEMP && rm -rf $TEMP && mkdir $TEMP && tar -vxzf
build.tar.gz -C $TEMP && mkdir -p $BACKUP && rm -rf $BACKUP && mv $CURRENT $BACKUP && mv $TEMP $CURRENT && cp $BACKUP/.env
$CURRENT/.env && cd $CURRENT && php artisan migrate --force'
- sftp $SERVER_SSH_USER_FOO@$SERVER_SSH_IP_FOO <<< $'put build.tar.gznEXIT’
- ssh $SERVER_SSH_USER_FOO@$SERVER_SSH_IP_FOO ' export TEMP=tmp-folder && export
36. - aws deploy push --application-name
LaravelDaySample --s3-location
s3://production-artifacts-
laravel/production_api_build.zip —no-ignore-
hidden-files
- aws deploy create-deployment --application-
name LaravelDaySample --s3-location
bucket=production-artifacts-
laravel,key=production_api_build.zip,bundleTyp
e=zip --deployment-group-name LaravelDaySample
--auto-rollback-configuration
enabled=true,events="DEPLOYMENT_FAILURE" --
file-exists-behavior RETAIN
39. ./APP/HTTP/ROUTES.PHP
<?php $tenant = env(‘APP_TENANT');
$root = file_exists(
base_path() . ‘/$tenant/' .
‘/Http/Controllers/Api/FooController.php'
))
? $tenant
: ’App';
$api->get(
‘resource/{id}',
$root . ‘HttpControllersApiFooController@show’
)->where(['id' => '[0-9]+']);