forked from stac-utils/titiler-pgstac
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
102 lines (87 loc) · 2.88 KB
/
.gitlab-ci.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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
image: docker:19.03.12
services:
- docker:19.03.12-dind
stages:
- build
- deploy
.deploy:
stage: deploy
image:
name: bitnami/kubectl:1.26
entrypoint: ['']
script:
- kubectl config get-contexts
- kubectl config use-context impactobservatory/titiler-pgstac:gitlab-agent-primary
- sed -i "s/\$CI_COMMIT_BRANCH/$CI_COMMIT_BRANCH/g" titiler.yaml
- sed -i "s/\$CI_PIPELINE_ID/$CI_PIPELINE_ID/g" titiler.yaml
- sed -i "s/\$NAMESPACE/$NAMESPACE/g" titiler.yaml
- sed -i "s/\$MIN_REPLICAS/$MIN_REPLICAS/g" titiler.yaml
- sed -i "s/\$MAX_REPLICAS/$MAX_REPLICAS/g" titiler.yaml
- sed -i "s/\$DNS_A_RECORD/$DNS_A_RECORD/g" titiler.yaml
- sed -i "s/\$STORAGE_ACCOUNT_KEY/$STORAGE_ACCOUNT_KEY/g" titiler.yaml
- sed -i "s/\$DOCKER_REGISTRY_SERVER_PASSWORD/$DOCKER_REGISTRY_SERVER_PASSWORD/g" titiler.yaml
- sed -i "s/\$POSTGRES_HOST/$POSTGRES_HOST/g" titiler.yaml
- sed -i "s/\$POSTGRES_DBNAME/$POSTGRES_DBNAME/g" titiler.yaml
- sed -i "s/\$POSTGRES_PASS/$POSTGRES_PASS/g" titiler.yaml
- sed -i "s/\$AGENT_POOL/$AGENT_POOL/g" titiler.yaml
- kubectl apply -f ./titiler.yaml --namespace=$NAMESPACE
####################
### Docker Build ###
####################
build-titiler-docker:
stage: build
script:
- docker info
- docker login impactobservatory.azurecr.io -u $SP_APP_ID -p $SP_PASSWORD
- docker build -f Dockerfile.gunicorn -t impactobservatory.azurecr.io/titiler-pgstac:$CI_COMMIT_BRANCH.$CI_PIPELINE_ID .
- docker push impactobservatory.azurecr.io/titiler-pgstac:$CI_COMMIT_BRANCH.$CI_PIPELINE_ID
#####################
### IO AKS Deploy ###
#####################
deploy-titiler-pgstac-io-dev:
extends: .deploy
environment: io-dev
deploy-titiler-pgstac-io-staging:
extends: .deploy
environment: io-staging
needs: ["deploy-titiler-pgstac-io-dev"]
when: manual
deploy-titiler-pgstac-io-internal:
extends: .deploy
environment: io-internal
needs: ["deploy-titiler-pgstac-io-dev"]
when: manual
deploy-titiler-pgstac-io-pc:
extends: .deploy
environment: planetarycomputer
needs: ["deploy-titiler-pgstac-io-staging"]
when: manual
rules:
- if: $CI_COMMIT_BRANCH == "master"
after_script: bash slacknotify.sh
deploy-titiler-pgstac-io-prod:
extends: .deploy
environment: io-prod
needs: ["deploy-titiler-pgstac-io-staging"]
when: manual
rules:
- if: $CI_COMMIT_BRANCH == "master"
after_script: bash slacknotify.sh
#######################
### UNBL AKS Deploy ###
#######################
deploy-titiler-pgstac-unbl-staging:
extends: .deploy
environment: unbl-staging
when: manual
rules:
- if: $CI_COMMIT_BRANCH == "master"
deploy-titiler-pgstac-unbl-prod:
extends: .deploy
environment: unbl-prod
needs: ["deploy-titiler-pgstac-unbl-staging"]
when: manual
rules:
- if: $CI_COMMIT_BRANCH == "master"
after_script: bash slacknotify.sh
# Add stage to auto-test the tiler functionality