.gitlab-ci.yml 3.28 KB
Newer Older
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
1
stages:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
2
  - prepare
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
3
4
  - build
  - deploy
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
5

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
6
7
8
9
.kube-auth: &kube-auth 
  - mkdir $HOME/.kube
  - touch $HOME/.kube/config
  - echo "$KUBE_CONFIG" >>  $HOME/.kube/config
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
10

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
11

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
12
13
14
.docker-login: &docker-login
    - echo -n $CI_REGISTRY_PASSWORD | docker login -u "$CI_REGISTRY_USER" --password-stdin  $CI_REGISTRY

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
15
16
17
18
.docker-build-db:
  script: &docker-build-db
    - docker build --pull -t "${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}-db${CI_COMMIT_SHA}" ./builds/cbiodb
    - docker push "$CI_REGISTRY_IMAGE:${CI_COMMIT_REF_NAME}-db${CI_COMMIT_SHA}"
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
19

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
20
21
22
23
.docker-build-job:
  script: &docker-build-job
    - docker build --pull -t "${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}-job${CI_COMMIT_SHA}" ./builds/job
    - docker push "$CI_REGISTRY_IMAGE:${CI_COMMIT_REF_NAME}-job${CI_COMMIT_SHA}"
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
24

25
.mellon template: &mellon-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
26
27
28
29
30
31
  stage: prepare
  image: registry.gitlab.ics.muni.cz:443/europdx/k8s/ci:latest
  before_script: 
    *kube-auth
  script:
    - cd mellon/${CI_COMMIT_REF_NAME}
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
32
33
    - kubectl get -n cbio-on-demand${NAMESPACE} configmaps cert || kubectl -n cbio-on-demand${NAMESPACE} create configmap cert --from-file=sp_cert.pem
    - kubectl get -n cbio-on-demand${NAMESPACE} configmaps xml || kubectl -n cbio-on-demand${NAMESPACE} create configmap xml --from-file=sp-metadata.xml
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
34
    - export foo="${CI_COMMIT_REF_NAME}_KEY"
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
35
    - foo=$(eval echo \$"$foo")
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
36
    - kubectl -n cbio-on-demand${NAMESPACE} create secret generic key --from-file="$"foo" --dry-run -o yaml | kubectl apply -f -
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
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

.cbio-db-build-template: &cbio-db-build-template
  stage: build
  image: docker:latest
  before_script:
    *docker-login
  script:
    *docker-build-db
  when: manual
  allow_failure: false

.cbio-job-build-template: &cbio-job-build-template
  stage: build
  image: docker:latest
  before_script: *docker-login
  script:
    *docker-build-job
  when: manual
  allow_failure: false

.deploy-to-k8s-template: &deploy-to-k8s-template
  stage: deploy
  before_script: 
    *kube-auth
  image: registry.gitlab.ics.muni.cz:443/europdx/k8s/ci:latest
  script:
      - ./yaml/bash.sh
      - kubectl version
      - kubectl apply -f ./yaml
  when:
      manual
  allow_failure: false
  
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
70
#PRODUCTION
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
71
cBioDb build:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
72
    <<: *cbio-db-build-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
73
    only:
Radim Peša's avatar
Radim Peša committed
74
      - master
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
75

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
76
cBioJob build:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
77
    <<: *cbio-job-build-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
78
    only:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
79
      - master
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
80
81

deploy to k8s:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
82
83
    variables:
      NAMESPACE: cbio-on-demand
84
      DOMAIN: cbiood
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
85
86
      DATAHUB: datahub
    <<: *deploy-to-k8s-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
87
    only:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
88
89
      - master
    
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
90
91

#BETA
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
92
mellon beta:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
93
  <<: *mellon-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
94
95
96
97
98
  variables:
    NAMESPACE: -beta
  only:
    - beta

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
99
cBioDb build beta:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
100
    <<: *cbio-db-build-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
101
    only:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
102
103
      - beta

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
104
cBioJob build beta:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
105
    << : *cbio-job-build-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
106
    only:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
107
      - beta
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
108

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
109
deploy to k8s beta:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
110
111
    variables:
      NAMESPACE: cbio-on-demand-beta
112
      DOMAIN: cbiood-beta
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
113
114
      DATAHUB: datahub-beta
    <<: *deploy-to-k8s-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
115
    only:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
116
117
      - beta

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
118
#DEV
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
119
cBioDb build dev:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
120
    <<: *cbio-db-build-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
121
    only:
122
123
124
125
      #changes:
      #  - builds/cbiodb/*
      refs:
        - dev
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
126

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
127
cBioJob build dev:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
128
    <<: *cbio-job-build-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
129
    only:
130
131
132
133
      #changes:
      #  - builds/job/*
      refs:
        - dev
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
134

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
135
deploy to k8s dev:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
136
137
    variables:
      NAMESPACE: cbio-on-demand-dev
138
      DOMAIN: cbiood-dev
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
139
140
      DATAHUB: datahub-dev
    <<: *deploy-to-k8s-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
141
    only:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
142
      - dev