.gitlab-ci.yml 3.33 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
32
33
34
35
  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
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
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

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

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

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

#BETA
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
91
92
93
94
95
96
mellon beta:
  variables:
    NAMESPACE: -beta
  only:
    - beta

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

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

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

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

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

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