Loading .gitlab-ci.yml +32 −15 Original line number Original line Diff line number Diff line Loading @@ -29,21 +29,17 @@ build: test: test: stage: test stage: test image: php:7.1.11-fpm-alpine3.4 # TODO: Fix cassandra driver conflicts image: minds/php-tests:latest script: script: - apk update && apk add libpng-dev freetype-dev libjpeg-turbo-dev - docker-php-ext-install mbstring - docker-php-ext-install bcmath - docker-php-ext-install gd - bin/phpspec run - bin/phpspec run prepare:fpm: prepare:fpm: stage: prepare stage: prepare image: minds/ci:latest image: minds/ci:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - docker build -t $REPOSITORY_URL_FPM-$CI_BUILD_REF -f containers/php-fpm/Dockerfile . - docker build -t $CI_REGISTRY_IMAGE/fpm:$CI_BUILD_REF -f containers/php-fpm/Dockerfile . - docker push $REPOSITORY_URL_FPM-$CI_BUILD_REF - docker push $CI_REGISTRY_IMAGE/fpm:$CI_BUILD_REF environment: environment: name: staging name: staging Loading @@ -51,39 +47,58 @@ prepare:runners: stage: prepare stage: prepare image: minds/ci:latest image: minds/ci:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - docker build -t $REPOSITORY_URL_RUNNERS-$CI_BUILD_REF -f containers/php-runners/Dockerfile . - docker build -t $CI_REGISTRY_IMAGE/runners:$CI_BUILD_REF -f containers/php-runners/Dockerfile . - docker push $REPOSITORY_URL_RUNNERS-$CI_BUILD_REF - docker push $CI_REGISTRY_IMAGE/runners:$CI_BUILD_REF environment: environment: name: staging name: staging staging:start: staging:start: stage: staging stage: staging image: minds/ci:latest image: minds/helm-eks:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - aws eks update-kubeconfig --name=sandbox - STAGING_SUBDOMAIN=$(echo $CI_COMMIT_MESSAGE | awk -F'-subdomain:' '{print $2}') - STAGING_SUBDOMAIN=$(echo $CI_COMMIT_MESSAGE | awk -F'-subdomain:' '{print $2}') - echo "Subdomain will be setup at $STAGING_SUBDOMAIN" - echo "Subdomain will be setup at $STAGING_SUBDOMAIN" - git clone --branch=sandbox-wip https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/minds/helm-charts.git - "helm upgrade \ --install \ --set phpfpm.image.repository=$CI_REGISTRY_IMAGE/fpm \ --set phpfpm.image.tag=$CI_BUILD_REF \ --set domain=$STAGING_SUBDOMAIN.$STAGING_DOMAIN \ $STAGING_SUBDOMAIN \ ./helm-charts/minds" only: only: variables: variables: - $CI_COMMIT_MESSAGE =~ /-subdomain/ - $CI_COMMIT_MESSAGE =~ /-subdomain/ environment: name: staging staging:stop: staging:stop: stage: staging stage: staging image: minds/ci:latest image: minds/helm-eks:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - aws eks update-kubeconfig --name=sandbox - STAGING_SUBDOMAIN=$(echo $CI_COMMIT_MESSAGE | awk -F'-subdomain:' '{print $2}') - STAGING_SUBDOMAIN=$(echo $CI_COMMIT_MESSAGE | awk -F'-subdomain:' '{print $2}') - echo "TODO tear down $STAGING_SUBDOMAIN" - echo "TODO tear down $STAGING_SUBDOMAIN" - helm del --purge $STAGING_SUBDOMAIN when: manual when: manual only: only: variables: variables: - $CI_COMMIT_MESSAGE =~ /-subdomain/ - $CI_COMMIT_MESSAGE =~ /-subdomain/ environment: name: staging deploy:fpm: deploy:fpm: stage: deploy stage: deploy image: minds/ci:latest image: minds/ci:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - $(aws ecr get-login --no-include-email --region us-east-1) - docker tag $REPOSITORY_URL_FPM-$CI_BUILD_REF $REPOSITORY_URL_FPM - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - docker pull $CI_REGISTRY_IMAGE/fpm:$CI_BUILD_REF - docker tag $CI_REGISTRY_IMAGE/fpm:$CI_BUILD_REF $REPOSITORY_URL_FPM - docker push $REPOSITORY_URL_FPM - docker push $REPOSITORY_URL_FPM - aws ecs update-service --service=$SERVICE_FPM --force-new-deployment --region us-east-1 --cluster=$CLUSTER - aws ecs update-service --service=$SERVICE_FPM --force-new-deployment --region us-east-1 --cluster=$CLUSTER only: only: Loading @@ -98,7 +113,9 @@ deploy:runners: image: minds/ci:latest image: minds/ci:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - $(aws ecr get-login --no-include-email --region us-east-1) - docker tag $REPOSITORY_URL_RUNNERS-$CI_BUILD_REF $REPOSITORY_URL_RUNNERS - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - docker pull $CI_REGISTRY_IMAGE/runners:$CI_BUILD_REF - docker tag $CI_REGISTRY_IMAGE/runners:$CI_BUILD_REF $REPOSITORY_URL_RUNNERS - docker push $REPOSITORY_URL_RUNNERS - docker push $REPOSITORY_URL_RUNNERS - aws ecs update-service --service=$SERVICE_RUNNERS --force-new-deployment --region us-east-1 --cluster=$CLUSTER - aws ecs update-service --service=$SERVICE_RUNNERS --force-new-deployment --region us-east-1 --cluster=$CLUSTER only: only: Loading Loading
.gitlab-ci.yml +32 −15 Original line number Original line Diff line number Diff line Loading @@ -29,21 +29,17 @@ build: test: test: stage: test stage: test image: php:7.1.11-fpm-alpine3.4 # TODO: Fix cassandra driver conflicts image: minds/php-tests:latest script: script: - apk update && apk add libpng-dev freetype-dev libjpeg-turbo-dev - docker-php-ext-install mbstring - docker-php-ext-install bcmath - docker-php-ext-install gd - bin/phpspec run - bin/phpspec run prepare:fpm: prepare:fpm: stage: prepare stage: prepare image: minds/ci:latest image: minds/ci:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - docker build -t $REPOSITORY_URL_FPM-$CI_BUILD_REF -f containers/php-fpm/Dockerfile . - docker build -t $CI_REGISTRY_IMAGE/fpm:$CI_BUILD_REF -f containers/php-fpm/Dockerfile . - docker push $REPOSITORY_URL_FPM-$CI_BUILD_REF - docker push $CI_REGISTRY_IMAGE/fpm:$CI_BUILD_REF environment: environment: name: staging name: staging Loading @@ -51,39 +47,58 @@ prepare:runners: stage: prepare stage: prepare image: minds/ci:latest image: minds/ci:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - docker build -t $REPOSITORY_URL_RUNNERS-$CI_BUILD_REF -f containers/php-runners/Dockerfile . - docker build -t $CI_REGISTRY_IMAGE/runners:$CI_BUILD_REF -f containers/php-runners/Dockerfile . - docker push $REPOSITORY_URL_RUNNERS-$CI_BUILD_REF - docker push $CI_REGISTRY_IMAGE/runners:$CI_BUILD_REF environment: environment: name: staging name: staging staging:start: staging:start: stage: staging stage: staging image: minds/ci:latest image: minds/helm-eks:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - aws eks update-kubeconfig --name=sandbox - STAGING_SUBDOMAIN=$(echo $CI_COMMIT_MESSAGE | awk -F'-subdomain:' '{print $2}') - STAGING_SUBDOMAIN=$(echo $CI_COMMIT_MESSAGE | awk -F'-subdomain:' '{print $2}') - echo "Subdomain will be setup at $STAGING_SUBDOMAIN" - echo "Subdomain will be setup at $STAGING_SUBDOMAIN" - git clone --branch=sandbox-wip https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/minds/helm-charts.git - "helm upgrade \ --install \ --set phpfpm.image.repository=$CI_REGISTRY_IMAGE/fpm \ --set phpfpm.image.tag=$CI_BUILD_REF \ --set domain=$STAGING_SUBDOMAIN.$STAGING_DOMAIN \ $STAGING_SUBDOMAIN \ ./helm-charts/minds" only: only: variables: variables: - $CI_COMMIT_MESSAGE =~ /-subdomain/ - $CI_COMMIT_MESSAGE =~ /-subdomain/ environment: name: staging staging:stop: staging:stop: stage: staging stage: staging image: minds/ci:latest image: minds/helm-eks:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - aws eks update-kubeconfig --name=sandbox - STAGING_SUBDOMAIN=$(echo $CI_COMMIT_MESSAGE | awk -F'-subdomain:' '{print $2}') - STAGING_SUBDOMAIN=$(echo $CI_COMMIT_MESSAGE | awk -F'-subdomain:' '{print $2}') - echo "TODO tear down $STAGING_SUBDOMAIN" - echo "TODO tear down $STAGING_SUBDOMAIN" - helm del --purge $STAGING_SUBDOMAIN when: manual when: manual only: only: variables: variables: - $CI_COMMIT_MESSAGE =~ /-subdomain/ - $CI_COMMIT_MESSAGE =~ /-subdomain/ environment: name: staging deploy:fpm: deploy:fpm: stage: deploy stage: deploy image: minds/ci:latest image: minds/ci:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - $(aws ecr get-login --no-include-email --region us-east-1) - docker tag $REPOSITORY_URL_FPM-$CI_BUILD_REF $REPOSITORY_URL_FPM - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - docker pull $CI_REGISTRY_IMAGE/fpm:$CI_BUILD_REF - docker tag $CI_REGISTRY_IMAGE/fpm:$CI_BUILD_REF $REPOSITORY_URL_FPM - docker push $REPOSITORY_URL_FPM - docker push $REPOSITORY_URL_FPM - aws ecs update-service --service=$SERVICE_FPM --force-new-deployment --region us-east-1 --cluster=$CLUSTER - aws ecs update-service --service=$SERVICE_FPM --force-new-deployment --region us-east-1 --cluster=$CLUSTER only: only: Loading @@ -98,7 +113,9 @@ deploy:runners: image: minds/ci:latest image: minds/ci:latest script: script: - $(aws ecr get-login --no-include-email --region us-east-1) - $(aws ecr get-login --no-include-email --region us-east-1) - docker tag $REPOSITORY_URL_RUNNERS-$CI_BUILD_REF $REPOSITORY_URL_RUNNERS - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} - docker pull $CI_REGISTRY_IMAGE/runners:$CI_BUILD_REF - docker tag $CI_REGISTRY_IMAGE/runners:$CI_BUILD_REF $REPOSITORY_URL_RUNNERS - docker push $REPOSITORY_URL_RUNNERS - docker push $REPOSITORY_URL_RUNNERS - aws ecs update-service --service=$SERVICE_RUNNERS --force-new-deployment --region us-east-1 --cluster=$CLUSTER - aws ecs update-service --service=$SERVICE_RUNNERS --force-new-deployment --region us-east-1 --cluster=$CLUSTER only: only: Loading