-
Notifications
You must be signed in to change notification settings - Fork 1
/
k8-buildspec.yml
50 lines (50 loc) · 2.14 KB
/
k8-buildspec.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
---
version: 0.2
phases:
install:
commands:
- kubectl version --short --client
pre_build:
commands:
- TAG="$CODEBUILD_BUILD_NUMBER.$(date +%Y-%m-%d.%H.%M.%S).$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | head -c 8)"
- echo $TAG
- echo "${CODEBUILD_WEBHOOK_HEAD_REF}"
- echo "${BRANCH}"
- $(aws ecr get-login --no-include-email)
- export KUBECONFIG=$HOME/.kube/config
- SOLR_REPOSITORY_URI="${REPOSITORY_URI}solr"
- sed -i.bak -e 's@VIVO_USERNAME@'"${VIVO_USERNAME}"'@' -e 's@VIVO_PASSWORD@'"${VIVO_PASSWORD}"'@' -e 's@VIVO_HOST@'"${VIVO_HOST}"'@' vivo/example.runtime.properties;
- sed -i.bak -e 's@NR_LICENSE_KEY@'"${NR_LICENSE_KEY}"'@' vivo/newrelic/newrelic.yml;
build:
commands:
- |
if expr "${BRANCH}" : ".*master" >/dev/null || expr "${BRANCH}" : ".*dev" >/dev/null; then
docker build --tag $REPOSITORY_URI:$TAG ./vivo
if expr "${SKIP_SOLR}" : ".*no" >/dev/null; then
docker build --tag $SOLR_REPOSITORY_URI:$TAG ./solr
fi
fi
post_build:
commands:
- |
if expr "${BRANCH}" : ".*master" >/dev/null || expr "${BRANCH}" : ".*dev" >/dev/null; then
docker push $REPOSITORY_URI:$TAG
if expr "${SKIP_SOLR}" : ".*no" >/dev/null; then
docker push $SOLR_REPOSITORY_URI:$TAG
fi
aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region us-east-1 --role-arn $EKS_KUBECTL_ROLE_ARN
kubectl scale deployment/vivo --replicas=0 -n vivo
if expr "${SKIP_SOLR}" : ".*no" >/dev/null; then
kubectl scale deployment/vivosolr --replicas=0 -n vivo
fi
kubectl set image deployment/vivo vivo=$REPOSITORY_URI:$TAG -n vivo
if expr "${SKIP_SOLR}" : ".*no" >/dev/null; then
kubectl set image deployment/vivosolr solr=$SOLR_REPOSITORY_URI:$TAG -n vivo
fi
sleep 1m
if expr "${SKIP_SOLR}" : ".*no" >/dev/null; then
kubectl scale deployment/vivosolr --replicas=1 -n vivo
fi
sleep 40s
kubectl scale deployment/vivo --replicas=1 -n vivo
fi