.gitlab-ci.yml 3.43 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
  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
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
34
35
    - xy=${CI_COMMIT_REF_NAME^^}
    - export foo="${xy}_KEY"
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
36
    - foo=$(eval echo \$"$foo")
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
37
    - echo ${foo} >> key.key
Ľuboslav Pivarč's avatar
Ľuboslav Pivarč committed
38
    - 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
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

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

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

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

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

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

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

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

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

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

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