Advertisement
Guest User

Untitled

a guest
Jun 6th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. variables:
  2. REGISTRY_URL: registry.lekode.com:5000
  3. IMAGE_NAME: app
  4. BUILD_CODE_IMAGE: $REGISTRY_URL/$IMAGE_NAME:$CI_COMMIT_REF_NAME
  5. LATEST_CODE_IMAGE: $REGISTRY_URL/$IMAGE_NAME:latest
  6.  
  7. stages:
  8. - test
  9. - install
  10. - build
  11. - deploy
  12.  
  13. test:
  14. stage: test
  15. image: kariae/symfony-php
  16. tags:
  17. - test
  18. services:
  19. - postgres
  20.  
  21. variables:
  22. POSTGRES_USER: lekode-test
  23. POSTGRES_PASSWORD: lekode-test-pass
  24. POSTGRES_DB: lekode-db
  25. DATABASE_HOST: postgres
  26. DATABASE_PORT: "5432"
  27.  
  28. artifacts:
  29. expire_in: 1 day
  30. paths:
  31. - vendor/
  32. - app/config/parameters.yml
  33. - var/bootstrap.php.cache
  34.  
  35. before_script:
  36. - composer config cache-files-dir /cache/composer
  37.  
  38. cache:
  39. paths:
  40. - /cache/composer
  41. - ./vendor
  42.  
  43. script:
  44. - composer install --optimize-autoloader
  45. - vendor/bin/simple-phpunit
  46.  
  47. prepare-production:
  48. stage: install
  49. image: kariae/symfony-php
  50. dependencies: []
  51. tags:
  52. - test
  53. only:
  54. - tags
  55. services:
  56. - postgres
  57.  
  58. variables:
  59. POSTGRES_USER: lekode-test
  60. POSTGRES_PASSWORD: lekode-test-pass
  61. POSTGRES_DB: lekode-db
  62. DATABASE_HOST: postgres
  63. DATABASE_PORT: "5432"
  64.  
  65. artifacts:
  66. expire_in: 1 day
  67. paths:
  68. - vendor/
  69. - app/config/parameters.yml
  70. - var/bootstrap.php.cache
  71.  
  72. before_script:
  73. - composer config cache-files-dir /cache/composer
  74.  
  75. cache:
  76. paths:
  77. - /cache/composer
  78. - ./vendor
  79.  
  80. script:
  81. - export SYMFONY_ENV=prod
  82. - composer install --no-dev --optimize-autoloader
  83. - php bin/console cache:clear --env=prod --no-debug
  84. - php bin/console cache:warmup --env=prod --no-debug
  85.  
  86. build-staging:
  87. stage: build
  88. dependencies:
  89. - test
  90. only:
  91. - master
  92. image: docker:latest
  93. tags:
  94. - build
  95. services:
  96. - docker:dind
  97. script:
  98. - echo $LATEST_CODE_IMAGE
  99. - ls -la
  100. - docker login -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD $REGISTRY_URL
  101. - docker build --tag="$LATEST_CODE_IMAGE" .
  102. - docker push $LATEST_CODE_IMAGE
  103.  
  104. build-production:
  105. stage: build
  106. dependencies:
  107. - prepare-production
  108. image: docker:latest
  109. only:
  110. - tags
  111. tags:
  112. - build
  113. services:
  114. - docker:dind
  115. script:
  116. - echo $BUILD_CODE_IMAGE
  117. - ls -la
  118. - docker login -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD $REGISTRY_URL
  119. - docker build --tag="$BUILD_CODE_IMAGE" .
  120. - docker push $BUILD_CODE_IMAGE
  121.  
  122. deploy-staging:
  123. stage: deploy
  124. dependencies: []
  125. tags:
  126. - deploy
  127. image: cdrx/rancher-gitlab-deploy
  128. services:
  129. - docker:dind
  130. only:
  131. - master
  132. script:
  133. - upgrade --stack Application --service php-fpm --finish-upgrade --sidekicks --new-sidekick-image php-fpm-app $LATEST_CODE_IMAGE
  134. - upgrade --stack Application --service nginx --finish-upgrade --sidekicks --new-sidekick-image nginx-app $LATEST_CODE_IMAGE
  135.  
  136. deploy-production:
  137. stage: deploy
  138. dependencies: []
  139. tags:
  140. - deploy
  141. image: cdrx/rancher-gitlab-deploy
  142. services:
  143. - docker:dind
  144. only:
  145. - tags
  146. script:
  147. - upgrade --stack Application --service php-fpm --finish-upgrade --sidekicks --new-sidekick-image php-fpm-app $LATEST_CODE_IMAGE
  148. - 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