Skip to content

Commit 1e4e340

Browse files
committed
Doesnt reinstall kubernetes on PRs
1 parent bdb4545 commit 1e4e340

File tree

3 files changed

+26
-22
lines changed

3 files changed

+26
-22
lines changed

.travis.yml

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,14 @@ env:
1616
global:
1717
- APP_ENV=prod
1818

19+
# TODO: replace check by [ ! $TRAVIS_TAG ] && [ $TRAVIS_REPO_SLUG = "api-platform/demo" ] && [ $TRAVIS_PULL_REQUEST = "false" ] when ready because we only want to deploy on master and from verified sources.
1920
before_install:
20-
- if [ "TRAVIS_PULL_REQUEST" != "false" ]; then exit 0; fi
21-
- https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash -s -- --version v2.9.1
22-
- tar -zxvf helm-v2.9.1-linux-amd64.tar.gz
21+
- |
22+
if [ $TRAVIS_PULL_REQUEST = "false" ]; then
23+
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash -s -- --version v2.9.1;
24+
else
25+
exit 0;
26+
fi
2327
2428
before_script:
2529
- sudo service mysql stop
@@ -29,7 +33,7 @@ before_script:
2933

3034
script:
3135
- docker-compose up -d
32-
- linux-amd64/helm lint api/helm/api/
36+
- helm lint api/helm/api/ > /dev/null 2>&1
3337
- sleep 20
3438
- docker-compose exec php composer install -o -n
3539
- docker-compose exec php bin/console security:check
@@ -49,6 +53,7 @@ script:
4953
- curl -k https://localhost:8443
5054
- curl -k https://localhost:8444
5155

56+
# TODO: Keep looking to https://github.com/kubernetes/kubernetes/pull/64034 tests in order to use "wait" with new implementation (to replace sleep 60)
5257
after_success:
5358
- curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
5459
- chmod +x ./kubectl
@@ -57,21 +62,18 @@ after_success:
5762
- gcloud auth activate-service-account ${TRAVIS_SERVICE_ACCOUNT} --key-file travis-service-account.json --project=${PROJECT_NAME}
5863
- gcloud config set compute/zone europe-west3-c
5964
- gcloud config set project ${PROJECT_NAME}
60-
- sudo mv linux-amd64/helm /usr/local/bin/helm
61-
- gcloud container clusters get-credentials api-platform-demo --zone europe-west3-c --project ${PROJECT_NAME}
62-
- helm init
63-
- kubectl delete namespace $(kubectl get namespaces -l app=api-demo -o jsonpath="{.items[0].metadata.name}" --ignore-not-found) --ignore-not-found
64-
- helm dependencies update ./api/helm/api
65-
- docker build --pull -t gcr.io/${PROJECT_NAME}/php -t gcr.io/${PROJECT_NAME}/php:latest api --target api_platform_php
66-
- docker build --pull -t gcr.io/${PROJECT_NAME}/nginx -t gcr.io/${PROJECT_NAME}/nginx:latest api --target api_platform_nginx
67-
- docker build --pull -t gcr.io/${PROJECT_NAME}/varnish -t gcr.io/${PROJECT_NAME}/varnish:latest api --target api_platform_varnish
68-
- gcloud docker -- push gcr.io/${PROJECT_NAME}/php:latest
69-
- gcloud docker -- push gcr.io/${PROJECT_NAME}/nginx:latest
70-
- gcloud docker -- push gcr.io/${PROJECT_NAME}/varnish:latest
71-
- helm install --wait --namespace=${TRAVIS_COMMIT} ./api/helm/api --set php.repository=gcr.io/${PROJECT_NAME}/php --set nginx.repository=gcr.io/${PROJECT_NAME}/nginx --set secret=${APP_SECRET} --set postgresUser=${DATABASE_USER},postgresPassword="${DATABASE_PASSWORD}",postgresDatabase=${DATABASE_NAME} --set postgresql.persistence.enabled=true --set corsAllowOrigin='*'
65+
- gcloud container clusters get-credentials api-platform-demo --zone europe-west3-c --project ${PROJECT_NAME} > /dev/null 2>&1
66+
- helm init --upgrade > /dev/null 2>&1
67+
- kubectl delete namespace $(kubectl get namespaces -l app=api-demo -o jsonpath="{.items[0].metadata.name}" --ignore-not-found) --ignore-not-found > /dev/null 2>&1
68+
- helm dependencies update ./api/helm/api > /dev/null 2>&1
69+
- docker build --pull -t gcr.io/${PROJECT_NAME}/php -t gcr.io/${PROJECT_NAME}/php:latest api --target api_platform_php > /dev/null 2>&1
70+
- docker build --pull -t gcr.io/${PROJECT_NAME}/nginx -t gcr.io/${PROJECT_NAME}/nginx:latest api --target api_platform_nginx > /dev/null 2>&1
71+
- docker build --pull -t gcr.io/${PROJECT_NAME}/varnish -t gcr.io/${PROJECT_NAME}/varnish:latest api --target api_platform_varnish > /dev/null 2>&1
72+
- gcloud docker -- push gcr.io/${PROJECT_NAME}/php:latest > /dev/null 2>&1
73+
- gcloud docker -- push gcr.io/${PROJECT_NAME}/nginx:latest > /dev/null 2>&1
74+
- gcloud docker -- push gcr.io/${PROJECT_NAME}/varnish:latest > /dev/null 2>&1
75+
- helm install --wait --namespace=${TRAVIS_COMMIT} ./api/helm/api --set php.repository=gcr.io/${PROJECT_NAME}/php --set nginx.repository=gcr.io/${PROJECT_NAME}/nginx --set secret=${APP_SECRET} --set postgresUser=${DATABASE_USER},postgresPassword="${DATABASE_PASSWORD}",postgresDatabase=${DATABASE_NAME} --set postgresql.persistence.enabled=true --set corsAllowOrigin='*' > /dev/null 2>&1
7276
- sleep 60
73-
- kubectl get po --namespace=${TRAVIS_COMMIT}
74-
- kubectl --namespace=${TRAVIS_COMMIT} get pods -l app=api-php -o jsonpath="{.items[0].metadata.name}"
75-
- kubectl exec -it $(kubectl --namespace=${TRAVIS_COMMIT} get pods -l app=api-php -o jsonpath="{.items[0].metadata.name}") --namespace=${TRAVIS_COMMIT} -- ash -c 'export APP_ENV=dev && composer install -n && bin/console d:s:u --force --env=dev && bin/console hautelook:fixtures:load -n && APP_ENV=prod composer --no-dev install --classmap-authoritative && bin/console d:s:u --env=prod'
76-
- kubectl label namespace ${TRAVIS_COMMIT} app=api-demo
77-
- gcloud auth revoke ${TRAVIS_SERVICE_ACCOUNT}
77+
- kubectl exec -it $(kubectl --namespace=${TRAVIS_COMMIT} get pods -l app=api-php -o jsonpath="{.items[0].metadata.name}") --namespace=${TRAVIS_COMMIT} -- ash -c 'export APP_ENV=dev && composer install -n && bin/console d:s:u --force --env=dev && bin/console hautelook:fixtures:load -n && APP_ENV=prod composer --no-dev install --classmap-authoritative && bin/console d:s:u --env=prod' > /dev/null 2>&1
78+
- kubectl label namespace ${TRAVIS_COMMIT} app=api-demo > /dev/null 2>&1
79+
- gcloud auth revoke ${TRAVIS_SERVICE_ACCOUNT} > /dev/null 2>&1

api/helm/api/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
env: prod
66
debug: '0'
77
secret: ChangeMe
8-
corsAllowOrigin: *
8+
corsAllowOrigin: '*'
99

1010
php:
1111
repository: gcr.io/api-platform-demo-209807/php

docker-compose.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ services:
4444
- api
4545
volumes:
4646
- ./api/docker/varnish/conf:/usr/local/etc/varnish:ro
47+
tmpfs:
48+
- /usr/local/var/varnish:exec
4749
ports:
4850
- "8081:80"
4951

0 commit comments

Comments
 (0)