-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
87 lines (81 loc) · 2.23 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
stages:
- build
- release
build-job:
stage: build
image: docker-hub.iss-reshetnev.ru/registry/languages/nodejs/node:16-buster-slim
retry: 2
script:
- npm install
- npm run build
- tar -zcvf knp_client.tar.gz dist
- export BUILD_VERSION=$(node -p "require('./package.json').version")-${CI_PIPELINE_IID}
- echo "BUILD_VERSION=$BUILD_VERSION"
- echo "BUILD_VERSION=$BUILD_VERSION" >> build.env
artifacts:
paths:
- knp_client.tar.gz
expire_in: 1 week
reports:
dotenv: build.env
release-latest-to-gitab:
image: curlimages/curl:latest
stage: release
needs:
- build-job
dependencies:
- build-job
script:
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file knp_client.tar.gz "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${KNP_CLIENT_LATEST_PACKAGE_NAME}/${BUILD_VERSION}/knp_client.tar.gz"'
when: manual
except:
- master
tag-lastest-release:
image:
name: alpine/git:latest
entrypoint: [""]
stage: release
needs:
- build-job
- release-latest-to-gitab
dependencies:
- build-job
script:
- project_url=$(echo $CI_PROJECT_URL | sed 's/https:\/\///')
- git remote set-url origin https://oauth2:${DZHUMANOVA_GITLAB_REPO_TOKEN}@$project_url
- git checkout ${CI_COMMIT_BRANCH}
- git pull
- git tag $BUILD_VERSION
- git push -o ci.skip --tags
except:
- master
release-stable-to-gitab:
image: curlimages/curl:latest
stage: release
needs:
- build-job
dependencies:
- build-job
script:
- 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file knp_client.tar.gz "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${KNP_CLIENT_STABLE_PACKAGE_NAME}/${BUILD_VERSION}/knp_client.tar.gz"'
only:
- master
tag-stable-release:
image:
name: alpine/git:latest
entrypoint: [""]
stage: release
needs:
- build-job
- release-stable-to-gitab
dependencies:
- build-job
script:
- project_url=$(echo $CI_PROJECT_URL | sed 's/https:\/\///')
- git remote set-url origin https://oauth2:${DZHUMANOVA_GITLAB_REPO_TOKEN}@$project_url
- git checkout ${CI_COMMIT_BRANCH}
- git pull
- git tag $BUILD_VERSION
- git push -o ci.skip --tags
only:
- master