-
Notifications
You must be signed in to change notification settings - Fork 30
/
.gitlab-ci.yml
109 lines (100 loc) · 3.27 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
stages:
- prepare_environment
- dependencies
- build
- deploy
- distribution
prepare_environment:
stage: prepare_environment
script:
- make -f deploy/Makefile BRANCH=$CI_COMMIT_REF_SLUG ci_prepare
dependencies:
stage: dependencies
script:
- make -f deploy/Makefile BRANCH=$CI_COMMIT_REF_SLUG ci_dependencies
dependencies:
- prepare_environment
build_package:
stage: build
script:
- make -f deploy/Makefile BRANCH=$CI_COMMIT_REF_SLUG ci_build_package
- make -f deploy/Makefile BRANCH=$CI_COMMIT_REF_SLUG ci_extract_package
artifacts:
paths:
- dist
expire_in: 1 day
dependencies:
- dependencies
build_frontci:
stage: build
script:
- make -f deploy/Makefile BRANCH=$CI_COMMIT_REF_SLUG ci_build_frontci
- make -f deploy/Makefile BRANCH=$CI_COMMIT_REF_SLUG ci_extract_frontci
artifacts:
paths:
- frontci
expire_in: 1 day
dependencies:
- dependencies
deploy_review:
stage: deploy
dependencies:
- build_frontci
script:
- make -f deploy/Makefile BRANCH=$CI_COMMIT_REF_SLUG FRONTCI_USER=$FRONTCI_USER FRONTCI_PASS=$FRONTCI_PASS ci_upload_frontci
- make -f deploy/Makefile BRANCH=$CI_COMMIT_REF_SLUG SLACKURL=$SLACKURL ci_notify
environment:
name: review/$CI_COMMIT_REF_NAME
url: https://front-ci.erlyvideo.ru/latest.html?p=$CI_PROJECT_NAME&r=$CI_COMMIT_REF_SLUG
only:
- branches
except:
- master
deploy_staging:
stage: deploy
dependencies:
- build_frontci
script:
- make -f deploy/Makefile BRANCH=$CI_COMMIT_REF_SLUG FRONTCI_USER=$FRONTCI_USER FRONTCI_PASS=$FRONTCI_PASS ci_upload_frontci
- make -f deploy/Makefile BRANCH=$CI_COMMIT_REF_SLUG SLACKURL=$SLACKURL ci_notify
environment:
name: staging
url: https://front-ci.erlyvideo.ru/latest.html?p=$CI_PROJECT_NAME&r=$CI_COMMIT_REF_SLUG
only:
- master
publish_npm:
stage: deploy
script:
- make -f deploy/Makefile BRANCH=$CI_COMMIT_REF_SLUG NPM_AUTH_TOKEN=$NPM_AUTH_TOKEN ci_publish_npm
only:
- master
deploy_live_player:
stage: distribution
script:
- "VERSION=$(git describe --abbrev=7 --long | sed 's/^v//g')"
- git clone https://gitlab-ci-token:${LIVE_PLAYER_REPO_KEY}@git.erlyvideo.ru/flussonic/live-player.git -b master --depth 3
- cd live-player
- git pull
- jq '.peerDependencies."@flussonic\/flussonic-mse-player"="'${VERSION}'"' package.json > new.json
- jq '.dependencies."@flussonic\/flussonic-mse-player"="'${VERSION}'"' new.json > package.json
- git add package.json
- 'git commit -m "update mse-player: ${VERSION} ${CI_COMMIT_MESSAGE}"'
- git push
- cd .. && rm -rf live-player/
only:
- master
deploy_dvr_player:
stage: distribution
script:
- "VERSION=$(git describe --abbrev=7 --long | sed 's/^v//g')"
- git clone https://gitlab-ci-token:${DVR_PLAYER_REPO_KEY}@git.erlyvideo.ru/flussonic/dvr-player.git -b master --depth 3
- cd dvr-player
- git pull
- jq '.peerDependencies."@flussonic\/flussonic-mse-player"="'${VERSION}'"' package.json > new.json
- jq '.dependencies."@flussonic\/flussonic-mse-player"="'${VERSION}'"' new.json > package.json
- git add package.json
- 'git commit -m "update mse-player: ${VERSION} ${CI_COMMIT_MESSAGE}"'
- git push
- cd .. && rm -rf dvr-player/
only:
- master