-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
80 lines (74 loc) · 2.98 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
stages:
- deploy
- package
- release
#########################
# Deploy #
#########################
deploy:
stage: deploy
tags:
- windowsserver2022powershell
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
script:
- Copy-Item "D:\wwwroot\downloadserver.soraharu.com\InteractiveHtmlBom\Python\python-3.9.12-embed-amd64.zip" ".\python.zip";
- PowerShell -Command "& {7z x .\python.zip -aoa}";
- if (${IHB_JSON_NAME}) {
Remove-Item "D:\pipeline\vercel\InteractiveHtmlBom\${IHB_JSON_NAME}.html";
${IHB_JSON_NAME_ARRAY} = ${IHB_JSON_NAME};
} else {
Remove-Item "D:\pipeline\vercel\InteractiveHtmlBom\*.html";
}
- foreach (${projectName} in ${IHB_JSON_NAME_ARRAY}.Split(" ")) {
Invoke-WebRequest
-Uri "${IHB_JSON_URL_LEFT}${projectName}${IHB_JSON_URL_RIGHT}"
-OutFile ".\cache\${projectName}.json";
PowerShell -Command "& {.\python\python.exe .\generate_interactive_bom.py .\cache\${projectName}.json --dark-mode --no-browser}";
Rename-Item ".\cache\bom\ibom.html" -NewName "${projectName}.html";
Move-Item ".\cache\bom\${projectName}.html" "D:\pipeline\vercel\InteractiveHtmlBom\";
Remove-Item ".\cache\${projectName}.json";
}
- Set-Location "D:\pipeline\vercel\InteractiveHtmlBom\";
- Copy-Item ".\index.html.bak" ".\index.html";
- PowerShell -Command "& {vercel --token ${VERCEL_TOKEN} --prod}";
#########################
# Package #
#########################
package:
stage: package
tags:
- windowsserver2022powershell
variables:
GIT_DEPTH: "1"
rules:
- if: $CI_COMMIT_TAG && $IHB_JSON_NAME == null
script:
- Copy-Item "D:\wwwroot\downloadserver.soraharu.com\InteractiveHtmlBom\Python\python-3.9.12-embed-amd64.zip" ".\python.zip";
- PowerShell -Command "& {7z x .\python.zip -aoa}";
- Remove-Item ".\python.zip";
- PowerShell -Command "& {7z a .\InteractiveHtmlBom-python-amd64.zip .\*}";
- ${downloadServerRootDir} = "D:\wwwroot\downloadserver.soraharu.com\InteractiveHtmlBom\${CI_COMMIT_TAG}\";
- if (Test-Path -Path "${downloadServerRootDir}") {
Remove-Item "${downloadServerRootDir}*" -Recurse;
} else {
New-Item -Path "${downloadServerRootDir}" -ItemType Directory;
}
- Move-Item ".\InteractiveHtmlBom-python-amd64.zip" "${downloadServerRootDir}";
#########################
# Release #
#########################
release:
stage: release
tags:
- linuxdocker
image: registry.gitlab.com/gitlab-org/release-cli:latest
variables:
GIT_STRATEGY: none
rules:
- if: $CI_COMMIT_TAG && $IHB_JSON_NAME == null
dependencies: []
script:
- |
release-cli create --name "Release $CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG \
--assets-link "{\"name\":\"InteractiveHtmlBom-python-amd64.zip\",\"url\":\"https://downloadserver.soraharu.com:7000/InteractiveHtmlBom/$CI_COMMIT_TAG/InteractiveHtmlBom-python-amd64.zip\",\"link_type\":\"package\"}"