Advertisement
-Angy-

.gitlab-ci.yml

Jan 15th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 2.09 KB | None | 0 0
  1. stages:
  2.  - test
  3.   - build
  4.   - deploy
  5.  
  6. build_image:
  7.   stage: build
  8.   image: docker:git
  9.   services:
  10.  - docker:dind
  11.   variables:
  12.     DOCKER_DRIVER: overlay
  13.   script:
  14.  - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
  15.   - docker build -t registry.gitlab.com/project/dashboard:${CI_COMMIT_REF_SLUG} .
  16.   - docker push registry.gitlab.com/project/dashboard:${CI_COMMIT_REF_SLUG}
  17.   only:
  18.  - "develop"
  19.   - "master"
  20.   except:
  21.  - tags
  22.  
  23. project:
  24.   before_script:
  25.    - bash ci/docker_install.sh
  26.   stage: test
  27.   image: my-image/php:7.2-v2-cli-node10
  28.   services:
  29.    - mysql:5.7
  30.   variables:
  31.     MYSQL_ROOT_PASSWORD: root
  32.     MYSQL_DATABASE: project
  33.     DB_HOST: mysql
  34.     DB_NAME: project
  35.     DB_USERNAME: root
  36.     DB_PASSWORD: root
  37.   script:
  38.    - cp .env.example .env
  39.     - php artisan key:generate
  40.     - php artisan migrate --seed
  41.     - bash ci/run_tests.sh
  42.   artifacts:
  43.     when: always
  44.     expire_in: 1 month
  45.     paths:
  46.    - lint_errors.txt
  47.     - phpstan_results.txt
  48.     - php-cs-fixer_results.txt
  49.   except:
  50.  - tags
  51.  
  52. deploy_staging:
  53.   stage: deploy
  54.   image: kroniak/ssh-client:3.6
  55.   script:
  56.  # add the server as a known host
  57.   - mkdir ~/.ssh
  58.   - echo "$SSH_KNOWN_HOSTS_PP" >> ~/.ssh/known_hosts
  59.   - chmod 644 ~/.ssh/known_hosts
  60.   # add ssh key stored in SSH_PRIVATE_KEY_PP variable to the agent store
  61.   - eval $(ssh-agent -s)
  62.   - ssh-add <(echo "$SSH_PRIVATE_KEY_PP")
  63.   # log into Docker registry
  64.   - ssh [email protected] "docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com"
  65.   # stop container, remove image.
  66.   - ssh [email protected] "cd /var/www/preprod.project.com/html && docker-compose down --rmi all" || true
  67.   # start new container
  68.   - ssh [email protected] "cd /var/www/preprod.project.com/html && docker-compose -f docker-compose-preprod.yml build --pull"
  69.    # start new container
  70.   - ssh [email protected] "cd /var/www/preprod.project.com/html && docker-compose -f docker-compose-preprod.yml up -d"
  71.   only:
  72.  - "develop"
  73.   except:
  74.  - "master"
  75.   - tags
  76.   when: manual
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement