Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- stages:
- - test
- - build
- - deploy
- build_image:
- stage: build
- image: docker:git
- services:
- - docker:dind
- variables:
- DOCKER_DRIVER: overlay
- script:
- - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
- - docker build -t registry.gitlab.com/project/dashboard:${CI_COMMIT_REF_SLUG} .
- - docker push registry.gitlab.com/project/dashboard:${CI_COMMIT_REF_SLUG}
- only:
- - "develop"
- - "master"
- except:
- - tags
- project:
- before_script:
- - bash ci/docker_install.sh
- stage: test
- image: my-image/php:7.2-v2-cli-node10
- services:
- - mysql:5.7
- variables:
- MYSQL_ROOT_PASSWORD: root
- MYSQL_DATABASE: project
- DB_HOST: mysql
- DB_NAME: project
- DB_USERNAME: root
- DB_PASSWORD: root
- script:
- - cp .env.example .env
- - php artisan key:generate
- - php artisan migrate --seed
- - bash ci/run_tests.sh
- artifacts:
- when: always
- expire_in: 1 month
- paths:
- - lint_errors.txt
- - phpstan_results.txt
- - php-cs-fixer_results.txt
- except:
- - tags
- deploy_staging:
- stage: deploy
- image: kroniak/ssh-client:3.6
- script:
- # add the server as a known host
- - mkdir ~/.ssh
- - echo "$SSH_KNOWN_HOSTS_PP" >> ~/.ssh/known_hosts
- - chmod 644 ~/.ssh/known_hosts
- # add ssh key stored in SSH_PRIVATE_KEY_PP variable to the agent store
- - eval $(ssh-agent -s)
- - ssh-add <(echo "$SSH_PRIVATE_KEY_PP")
- # log into Docker registry
- - ssh [email protected] "docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com"
- # stop container, remove image.
- - ssh [email protected] "cd /var/www/preprod.project.com/html && docker-compose down --rmi all" || true
- # start new container
- - ssh [email protected] "cd /var/www/preprod.project.com/html && docker-compose -f docker-compose-preprod.yml build --pull"
- # start new container
- - ssh [email protected] "cd /var/www/preprod.project.com/html && docker-compose -f docker-compose-preprod.yml up -d"
- only:
- - "develop"
- except:
- - "master"
- - tags
- when: manual
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement