Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- variables:
- REGISTRY_URL: registry.lekode.com:5000
- IMAGE_NAME: app
- BUILD_CODE_IMAGE: $REGISTRY_URL/$IMAGE_NAME:$CI_COMMIT_REF_NAME
- LATEST_CODE_IMAGE: $REGISTRY_URL/$IMAGE_NAME:latest
- stages:
- - test
- - install
- - build
- - deploy
- test:
- stage: test
- image: kariae/symfony-php
- tags:
- - test
- services:
- - postgres
- variables:
- POSTGRES_USER: lekode-test
- POSTGRES_PASSWORD: lekode-test-pass
- POSTGRES_DB: lekode-db
- DATABASE_HOST: postgres
- DATABASE_PORT: "5432"
- artifacts:
- expire_in: 1 day
- paths:
- - vendor/
- - app/config/parameters.yml
- - var/bootstrap.php.cache
- before_script:
- - composer config cache-files-dir /cache/composer
- cache:
- paths:
- - /cache/composer
- - ./vendor
- script:
- - composer install --optimize-autoloader
- - vendor/bin/simple-phpunit
- prepare-production:
- stage: install
- image: kariae/symfony-php
- dependencies: []
- tags:
- - test
- only:
- - tags
- services:
- - postgres
- variables:
- POSTGRES_USER: lekode-test
- POSTGRES_PASSWORD: lekode-test-pass
- POSTGRES_DB: lekode-db
- DATABASE_HOST: postgres
- DATABASE_PORT: "5432"
- artifacts:
- expire_in: 1 day
- paths:
- - vendor/
- - app/config/parameters.yml
- - var/bootstrap.php.cache
- before_script:
- - composer config cache-files-dir /cache/composer
- cache:
- paths:
- - /cache/composer
- - ./vendor
- script:
- - export SYMFONY_ENV=prod
- - composer install --no-dev --optimize-autoloader
- - php bin/console cache:clear --env=prod --no-debug
- - php bin/console cache:warmup --env=prod --no-debug
- build-staging:
- stage: build
- dependencies:
- - test
- only:
- - master
- image: docker:latest
- tags:
- - build
- services:
- - docker:dind
- script:
- - echo $LATEST_CODE_IMAGE
- - ls -la
- - docker login -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD $REGISTRY_URL
- - docker build --tag="$LATEST_CODE_IMAGE" .
- - docker push $LATEST_CODE_IMAGE
- build-production:
- stage: build
- dependencies:
- - prepare-production
- image: docker:latest
- only:
- - tags
- tags:
- - build
- services:
- - docker:dind
- script:
- - echo $BUILD_CODE_IMAGE
- - ls -la
- - docker login -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD $REGISTRY_URL
- - docker build --tag="$BUILD_CODE_IMAGE" .
- - docker push $BUILD_CODE_IMAGE
- deploy-staging:
- stage: deploy
- dependencies: []
- tags:
- - deploy
- image: cdrx/rancher-gitlab-deploy
- services:
- - docker:dind
- only:
- - master
- script:
- - upgrade --stack Application --service php-fpm --finish-upgrade --sidekicks --new-sidekick-image php-fpm-app $LATEST_CODE_IMAGE
- - upgrade --stack Application --service nginx --finish-upgrade --sidekicks --new-sidekick-image nginx-app $LATEST_CODE_IMAGE
- deploy-production:
- stage: deploy
- dependencies: []
- tags:
- - deploy
- image: cdrx/rancher-gitlab-deploy
- services:
- - docker:dind
- only:
- - tags
- script:
- - upgrade --stack Application --service php-fpm --finish-upgrade --sidekicks --new-sidekick-image php-fpm-app $LATEST_CODE_IMAGE
- - upgrade --stack Application --service nginx --finish-upgrade --sidekicks --new-sidekick-image nginx-app $LATEST_CODE_IMAGE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement