-
Notifications
You must be signed in to change notification settings - Fork 2
/
.gitlab-ci.yml
112 lines (106 loc) · 2.6 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
image: cr.gfx.cafe/build/img/nodejs:latest
site:
stage: build
cache:
- key:
files:
- yarn.lock
- docs/yarn.lock
prefix: yarn
paths:
- node_modules/
- docs/node_modules/
- paths:
- docs/.docusaurus/
script:
- npx yarn install
- npm run build
artifacts:
paths:
- dist
pages:
stage: deploy
dependencies:
- site
script:
- cp -r dist public
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
pages-github:
stage: deploy
dependencies:
- site
script:
- git config --global credential.helper '!f() { sleep 1; echo "username=gfxlabs"; echo "password=$GITHUB_TOKEN"; }; f'
- git config --global user.email "bot@gfx.cafe"
- git config --global user.name "gfx.cafe"
- git clone https://github.com/gfx-labs/ip-app-pages.git
- cp -r dist ip-app-pages/$CI_COMMIT_SHORT_SHA
- rm -rf ip-app-pages/latest ip-app-pages/docs
- cp -r dist ip-app-pages/latest
- cd ip-app-pages
- git add -A && git commit -m "added commit $CI_COMMIT_SHORT_SHA"
- git push
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
jsonnet:
stage: build
image: alpine:latest
needs:
- site
script:
- apk add -U jsonnet
- jsonnet .gitlab-ci.jsonnet > generated-config.yml
artifacts:
paths:
- generated-config.yml
trigger-builds:
stage: build
needs:
- jsonnet
- site
trigger:
include:
- artifact: generated-config.yml
job: jsonnet
strategy: depend
trigger-gfxlabs-dev-deploy:
stage: deploy
needs:
- trigger-builds
image:
name: bitnami/kubectl:latest
entrypoint: ['']
variables:
APP_NAME: 'ip-app'
IMAGE_NAME: 'app'
only:
variables:
- $CI_COMMIT_BRANCH == "devel"
script:
- kubectl config get-contexts
- kubectl config use-context ip/gitlab-agents:gfxlabs-dev
- kubectl rollout restart deployment ip-app
#trigger-ovh-k3s-dev-deploy:
# stage: deploy
# needs:
# - trigger-builds
# image:
# name: bitnami/kubectl:latest
# entrypoint: ['']
# variables:
# APP_NAME: "ip-app"
# IMAGE_NAME: "app"
# only:
# variables:
# - $CI_COMMIT_BRANCH == "devel"
# script:
# - kubectl config get-contexts
# - kubectl config use-context ip/gitlab-agents:ovh-k3s-dev
# - kubectl patch deployment $APP_NAME -p '{"spec":{"template":{"metadata":{"labels":{"date":"'$(date +'%s')'","sha":"'${CI_COMMIT_SHA}'"}},"spec":{"containers":[{"name":"'${APP_NAME}'","image":"'${CI_REGISTRY_IMAGE}'/'${IMAGE_NAME}':devel"}]}}}}'