.gitlab-ci.yml 3.87 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

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
25
26
27
28
29
30
31
32
33
34
35
36
37
.mellon template:
  stage: prepare
  image: registry.gitlab.ics.muni.cz:443/europdx/k8s/ci:latest
  before_script: 
    *kube-auth
  script:
    - cd mellon/${CI_COMMIT_REF_NAME}
    - kubectl get -n cbio-on-demand${NAMESPACE} configmaps cert || kubectl -n cbio-on-demand${NAMESPACE} create configmap cert --from-file=http_cbiood_${CI_COMMIT_REF_NAME}.edirex.ics.muni.cz.cert
    - kubectl get -n cbio-on-demand${NAMESPACE} configmaps xml || kubectl -n cbio-on-demand${NAMESPACE} create configmap xml --from-file=http_cbiood_${CI_COMMIT_REF_NAME}.edirex.ics.muni.cz.xml
    - echo ${${CI_COMMIT_REF_NAME}_KEY} >> key.key
    - kubectl get -n cbio-on-demand${NAMESPACE} secrets key || kubectl -n cbio-on-demand${NAMESPACE} create secret generic key --from-file=key.key
  only:
    - beta
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
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

.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
71
#PRODUCTION
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
72
cBioDb build:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
73
    <<: *cbio-db-build-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
74
    only:
Radim Peša's avatar
Radim Peša committed
75
      - master
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
76

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

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

#BETA
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
93
94
mellon beta:
  stage: prepare
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
95
  image: registry.gitlab.ics.muni.cz:443/europdx/k8s/ci:latest
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
96
97
  variables:
    NAMESPACE: -beta
98
99
  before_script: 
    *kube-auth
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
100
101
  script:
    - cd mellon/${CI_COMMIT_REF_NAME}
102
103
    - kubectl get -n cbio-on-demand${NAMESPACE} configmaps cert || kubectl -n cbio-on-demand${NAMESPACE} create configmap cert --from-file=http_cbiood_${CI_COMMIT_REF_NAME}.edirex.ics.muni.cz.cert
    - kubectl get -n cbio-on-demand${NAMESPACE} configmaps xml || kubectl -n cbio-on-demand${NAMESPACE} create configmap xml --from-file=http_cbiood_${CI_COMMIT_REF_NAME}.edirex.ics.muni.cz.xml
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
104
105
106
  only:
    - beta

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
107
cBioDb build beta:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
108
    <<: *cbio-db-build-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
109
    only:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
110
111
      - beta

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
112
cBioJob build beta:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
113
    << : *cbio-job-build-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
114
    only:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
115
      - beta
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
116

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
117
deploy to k8s beta:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
118
119
    variables:
      NAMESPACE: cbio-on-demand-beta
120
      DOMAIN: cbiood-beta
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
121
122
      DATAHUB: datahub-beta
    <<: *deploy-to-k8s-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
123
    only:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
124
125
      - beta

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

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
135
cBioJob build dev:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
136
    <<: *cbio-job-build-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
137
    only:
138
139
140
141
      #changes:
      #  - builds/job/*
      refs:
        - dev
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
142

Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
143
deploy to k8s dev:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
144
145
    variables:
      NAMESPACE: cbio-on-demand-dev
146
      DOMAIN: cbiood-dev
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
147
148
      DATAHUB: datahub-dev
    <<: *deploy-to-k8s-template
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
149
    only:
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
150
      - dev