Commit dcce6190 authored by Mark Harding's avatar Mark Harding
Browse files

(feat): use gitlab container repository vs mac to sand badwidth

-subdomain: sgtpepper
parent fab79916
Loading
Loading
Loading
Loading
+32 −15
Original line number Original line Diff line number Diff line
@@ -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


@@ -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:
@@ -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: