-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
55 lines (51 loc) · 1.99 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
---
stages:
- prepare-api
- build-api
- deploy-api
prepare-api:
image: ruby:2.6-alpine
stage: prepare-api
artifacts:
paths:
- api
script:
- mkdir -p $CI_PROJECT_DIR/api/src/main/resources/secrets
- echo $SECRETS_YAML > $CI_PROJECT_DIR/api/src/main/resources/secrets/secrets.yaml
- cd $CI_PROJECT_DIR/api && ruby encrypt_secrets.rb production
build-api:
image: openjdk:11-slim
stage: build-api
dependencies:
- prepare-api
artifacts:
paths:
- api
cache:
paths:
- .gradle
script:
- cd $CI_PROJECT_DIR/api && ./gradlew -Dorg.gradle.daemon=false clean build --info
# deploy-api:
# image: docker:latest
# stage: deploy-api
# dependencies:
# - build-api
# services:
# - docker:dind
# script:
# - apk add --update make ca-certificates openssl python
# - update-ca-certificates
# - wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-241.0.0-linux-x86_64.tar.gz
# - tar zxvf google-cloud-sdk-241.0.0-linux-x86_64.tar.gz && ./google-cloud-sdk/install.sh --usage-reporting=false --path-update=true
# - echo $SERVICE_ACCOUNT > /tmp/$CI_PIPELINE_ID.json
# - google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/$CI_PIPELINE_ID.json
# - google-cloud-sdk/bin/gcloud config set run/region us-central1
# - google-cloud-sdk/bin/gcloud config set core/project wortschatz-rockyj
# - google-cloud-sdk/bin/gcloud components install beta
# - google-cloud-sdk/bin/gcloud components update
# - google-cloud-sdk/bin/gcloud auth print-access-token | docker login -u oauth2accesstoken --password-stdin https://gcr.io
# - cd $CI_PROJECT_DIR/api && docker build . --tag gcr.io/wortschatz-rockyj/wortschatz-api
# - docker push gcr.io/wortschatz-rockyj/wortschatz-api
# - cd $CI_PROJECT_DIR && google-cloud-sdk/bin/gcloud beta run deploy wortschatz-api --image gcr.io/wortschatz-rockyj/wortschatz-api
# - rm -f /root/.docker/config.json /tmp/$CI_PIPELINE_ID.json