Last active
October 20, 2017 18:49
-
-
Save Mozartted/e06a8b83c8beee0bb294236a8f0cb001 to your computer and use it in GitHub Desktop.
Revisions
-
Mozartted revised this gist
Oct 20, 2017 . 1 changed file with 0 additions and 84 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,91 +1,7 @@ stages: - test - deploy # So this is where I deploy to server to build the site deploy-master: -
Mozartted created this gist
Oct 20, 2017 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,128 @@ # This file is a template, and might need editing before it works on your project. # Official framework image. Look for the different tagged releases at: # https://hub.docker.com/r/library/php # image: php:latest stages: - test - deploy # Pick zero or more services to be used on all builds. # Only needed when using a docker container to run your tests in. # Check out: http://docs.gitlab.com/ce/ci/docker/using_docker_images.html#what-is-a-service services: - mysql:latest variables: MYSQL_DATABASE: project_name MYSQL_ROOT_PASSWORD: secret # This folder is cached between builds # http://docs.gitlab.com/ce/ci/yaml/README.html#cache cache: paths: - vendor/ - node_modules/ # # This is a basic example for a gem or script which doesn't use # # services such as redis or postgres before_script: # Update packages - apt-get update -yqq # Upgrade to Node 7 - curl -sL https://deb.nodesource.com/setup_7.x | bash - # Install dependencies - apt-get install git nodejs libcurl4-gnutls-dev libicu-dev libmcrypt-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libpq-dev libsqlite3-dev libaspell-dev libsnmp-dev libpcre3-dev libtidy-dev -yqq # Install php extensions - docker-php-ext-install mbstring mcrypt pdo_mysql curl json intl gd xml zip bz2 opcache # Install & enable Xdebug for code coverage reports - pecl install xdebug - docker-php-ext-enable xdebug # Install Composer and project dependencies. - curl -sS https://getcomposer.org/installer | php - php composer.phar install # # Install Node dependencies. # # comment this out if you don't have a node dependency # # - npm install # # Copy over testing configuration. # # Don't forget to set the database config in .env.testing correctly # # DB_HOST=mysql # # DB_DATABASE=project_name # # DB_USERNAME=root # # DB_PASSWORD=secret - cp .env.testing .env # Run npm build # comment this out if you don't have a frontend build # you can change this to to your frontend building script like # npm run build - npm run dev # Generate an application key. Re-cache. - php artisan key:generate - php artisan config:cache # Run database migrations. - php artisan migrate # # Run database seed - php artisan db:seed test: stage: test script: # run laravel tests - php vendor/bin/phpunit --coverage-text --colors=never # # run frontend tests # # if you have any task for testing frontend # # set it in your package.json script # # comment this out if you don't have a frontend test # # - npm test # So this is where I deploy to server to build the site deploy-master: stage: deploy image: tetraweb/php:7.0 before_script: - mkdir -p ~/.ssh - echo -e "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' script: - ssh deployer@YOUR_SERVERIP_HERE "cd /var/www/project/ && git checkout . && git checkout master && git pull && cp .env.example .env && composer install && php artisan migrate " environment: name: production only: refs: - master tags: - live - production deploy-dev: stage: deploy image: tetraweb/php:7.0 before_script: - mkdir -p ~/.ssh - echo -e "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' script: - ssh deployer@YOUR_SERVERIP_HERE "cd /var/www/project/ && git fetch && git checkout dev && git pull && cp .env.example_dev .env && composer install && php artisan migrate " environment: name: development only: refs: - dev tags: - live