Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- image: docker:git
- stages:
- - test
- - build
- - deploy_to_staging
- variables:
- MYSQL_ROOT_PASSWORD: xxx
- MYSQL_USER: xxx
- MYSQL_PASSWORD: xxx
- MYSQL_DATABASE: xxx
- DB_HOST: mysql
- # Speed up builds
- cache:
- key: $CI_BUILD_REF_NAME
- paths:
- - vendor
- - node_modules
- - ~/.composer/cache/files
- - ~/.yarn-cache
- variables:
- DOCKER_HOST: tcp://localhost:2375
- DOCKER_DRIVER: overlay2
- CONTAINER_BRANCH_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
- CONTAINER_TESTING_IMAGE: $CI_REGISTRY_IMAGE:testing
- before_script:
- - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- test:
- stage: test
- before_script:
- - hostname
- only:
- - merge_requests
- services:
- - mysql:5.7
- image: edbizarro/gitlab-ci-pipeline-php:7.2
- script:
- - hostname
- build:
- image: docker:dind
- stage: build
- script:
- - docker pull $CONTAINER_BRANCH_IMAGE || true
- - docker build --cache-from $CONTAINER_BRANCH_IMAGE -t $CONTAINER_BRANCH_IMAGE .
- - docker push $CONTAINER_BRANCH_IMAGE
- only:
- - merge_requests
- # staging deploy
- deploy to staging:
- image: linkyard/docker-helm
- before_script:
- - helm deploy
- stage: deploy_to_staging
- only:
- - merge_requests
- script:
- - docker pull $CONTAINER_BRANCH_IMAGE
- - docker tag $CONTAINER_BRANCH_IMAGE $CONTAINER_TESTING_IMAGE
- - docker push $CONTAINER_TESTING_IMAGE
- - helm init --upgrade
- - helm repo add stable https://kubernetes-charts.storage.googleapis.com
- - helm upgrade --install php-app --namespace default --wait --set image.tag=${CI_PIPELINE_ID} --set replicaCount=2 .helm/
- environment:
- name: staging/$CI_COMMIT_REF_NAME
- url: https://staging.xxx.com.ua/
- when: manual
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement