@catladder/pipeline 1.170.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bash/BashExpression.d.ts +2 -6
- package/dist/bash/BashExpression.js +5 -15
- package/dist/bash/bashEscape.d.ts +34 -0
- package/dist/bash/bashEscape.js +114 -0
- package/dist/bash/bashYaml.js +25 -2
- package/dist/bash/getInjectVarsScript.js +4 -2
- package/dist/bash/index.d.ts +2 -0
- package/dist/bash/index.js +26 -0
- package/dist/build/base/createAppBuildJob.js +3 -3
- package/dist/build/base/writeDotEnv.js +6 -4
- package/dist/build/custom/testJob.js +12 -12
- package/dist/build/docker.d.ts +3 -3
- package/dist/build/node/buildJob.js +1 -1
- package/dist/build/node/cache.d.ts +2 -4
- package/dist/build/node/cache.js +3 -24
- package/dist/build/node/testJob.js +11 -11
- package/dist/build/rails/build.js +1 -1
- package/dist/build/rails/test.js +8 -8
- package/dist/build/types.d.ts +0 -10
- package/dist/constants.js +1 -1
- package/dist/context/createComponentContext.js +0 -1
- package/dist/context/getEnvConfig.js +2 -1
- package/dist/context/getEnvironment.js +1 -2
- package/dist/context/getEnvironmentVariables.d.ts +5 -6
- package/dist/context/getEnvironmentVariables.js +50 -38
- package/dist/deploy/base/deploy.js +3 -3
- package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +2 -2
- package/dist/deploy/cloudRun/index.js +2 -2
- package/dist/deploy/cloudRun/utils/getServiceName.d.ts +1 -1
- package/dist/deploy/kubernetes/cloudSql/index.d.ts +2 -2
- package/dist/deploy/kubernetes/cloudSql/index.js +3 -14
- package/dist/deploy/kubernetes/deployJob.js +1 -3
- package/dist/deploy/kubernetes/index.js +2 -2
- package/dist/deploy/kubernetes/kubeEnv.d.ts +3 -3
- package/dist/deploy/kubernetes/kubeValues.d.ts +3 -4
- package/dist/deploy/kubernetes/kubeValues.js +2 -3
- package/dist/deploy/types/base.d.ts +0 -6
- package/dist/deploy/types/kubernetes.d.ts +1 -34
- package/dist/globalScriptFunctions/index.d.ts +14 -0
- package/dist/globalScriptFunctions/index.js +37 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/pipeline/gitlab/createGitlabJobs.js +3 -5
- package/dist/pipeline/gitlab/createGitlabPipeline.d.ts +1 -0
- package/dist/pipeline/gitlab/createGitlabPipeline.js +38 -2
- package/dist/pipeline/packageManager.js +1 -1
- package/dist/runner/index.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +6 -9
- package/dist/types/context.d.ts +2 -9
- package/dist/types/gitlab-types.d.ts +1 -0
- package/dist/types/jobs.d.ts +0 -8
- package/dist/utils/gitlab.js +4 -1
- package/dist/utils/writeFiles.js +1 -7
- package/dist/variables/VariableValue.d.ts +3 -0
- package/dist/variables/VariableValue.js +5 -0
- package/dist/variables/VariableValueContainingReferences.d.ts +24 -0
- package/dist/variables/VariableValueContainingReferences.js +97 -0
- package/dist/variables/__tests__/resolveAllReferences.test.js +219 -0
- package/dist/variables/__tests__/resolveAllReferencesOnce.test.d.ts +1 -0
- package/dist/variables/__tests__/resolveAllReferencesOnce.test.js +171 -0
- package/dist/variables/__tests__/resolveReferencesOnce.test.d.ts +1 -0
- package/dist/variables/__tests__/resolveReferencesOnce.test.js +202 -0
- package/dist/variables/__tests__/variableValue.test.d.ts +1 -0
- package/dist/variables/__tests__/variableValue.test.js +36 -0
- package/dist/variables/resolveAllReferences.d.ts +3 -0
- package/dist/{bash/replaceAsync.js → variables/resolveAllReferences.js} +60 -41
- package/dist/variables/resolveAllReferencesOnce.d.ts +5 -0
- package/dist/variables/resolveAllReferencesOnce.js +191 -0
- package/dist/variables/resolveReferencesOnce.d.ts +8 -0
- package/dist/variables/resolveReferencesOnce.js +22 -0
- package/examples/__snapshots__/cloud-run-http2.test.ts.snap +312 -238
- package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +312 -238
- package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +312 -222
- package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +1436 -0
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +312 -238
- package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +316 -238
- package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +312 -238
- package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +313 -238
- package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +312 -238
- package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +312 -238
- package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +312 -238
- package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +312 -238
- package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +316 -238
- package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +294 -220
- package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +312 -238
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +652 -486
- package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +282 -288
- package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +312 -238
- package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +284 -194
- package/examples/__snapshots__/custom-build-job.test.ts.snap +278 -188
- package/examples/__snapshots__/custom-deploy.test.ts.snap +220 -154
- package/examples/__snapshots__/custom-envs.test.ts.snap +216 -126
- package/examples/__snapshots__/custom-sbom-java.test.ts.snap +278 -188
- package/examples/__snapshots__/git-submodule.test.ts.snap +312 -238
- package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +231 -253
- package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +240 -262
- package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +504 -506
- package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +239 -261
- package/examples/__snapshots__/local-dot-env.test.ts.snap +236 -238
- package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +236 -242
- package/examples/__snapshots__/multiline-var.test.ts.snap +1355 -973
- package/examples/__snapshots__/native-app.test.ts.snap +438 -392
- package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +312 -238
- package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +312 -238
- package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +186 -188
- package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +162 -164
- package/examples/__snapshots__/referencing-other-vars.test.ts.snap +4741 -0
- package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +330 -228
- package/examples/__snapshots__/{workspace-api-www-custom-cache.test.ts.snap → workspace-api-www-turbo-cache.test.ts.snap} +457 -499
- package/examples/__snapshots__/workspace-api-www.test.ts.snap +452 -482
- package/examples/{workspace-api-www-custom-cache.test.ts → cloud-run-nextjs.test.ts} +2 -2
- package/examples/cloud-run-nextjs.ts +28 -0
- package/examples/cloud-run-with-sql.ts +0 -1
- package/examples/kubernetes-application-customization.ts +1 -0
- package/examples/kubernetes-with-cloud-sql.ts +1 -0
- package/examples/kubernetes-with-jobs.ts +1 -0
- package/examples/kubernetes-with-mongodb.ts +1 -0
- package/examples/meteor-kubernetes.ts +1 -1
- package/examples/native-app.ts +10 -7
- package/examples/rails-k8s-with-worker.ts +7 -1
- package/examples/{kubernetes-with-cloud-sql-legacy.test.ts → referencing-other-vars.test.ts} +2 -2
- package/examples/referencing-other-vars.ts +83 -0
- package/examples/workspace-api-www-turbo-cache.test.ts +11 -0
- package/examples/{workspace-api-www-custom-cache.ts → workspace-api-www-turbo-cache.ts} +4 -3
- package/examples/workspace-api-www.ts +3 -2
- package/package.json +2 -6
- package/src/bash/BashExpression.ts +10 -13
- package/src/bash/bashEscape.ts +158 -0
- package/src/bash/bashYaml.ts +36 -2
- package/src/bash/getInjectVarsScript.ts +11 -2
- package/src/bash/index.ts +2 -0
- package/src/build/base/createAppBuildJob.ts +0 -1
- package/src/build/base/writeDotEnv.ts +6 -6
- package/src/build/custom/testJob.ts +0 -1
- package/src/build/node/buildJob.ts +2 -2
- package/src/build/node/cache.ts +0 -29
- package/src/build/node/testJob.ts +0 -1
- package/src/build/rails/build.ts +0 -1
- package/src/build/rails/test.ts +0 -1
- package/src/build/types.ts +0 -13
- package/src/context/createComponentContext.ts +0 -1
- package/src/context/getEnvConfig.ts +2 -2
- package/src/context/getEnvironment.ts +1 -1
- package/src/context/getEnvironmentContext.ts +1 -1
- package/src/context/getEnvironmentVariables.ts +44 -51
- package/src/deploy/base/deploy.ts +1 -1
- package/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts +4 -12
- package/src/deploy/cloudRun/index.ts +2 -2
- package/src/deploy/kubernetes/cloudSql/index.ts +3 -16
- package/src/deploy/kubernetes/deployJob.ts +0 -2
- package/src/deploy/kubernetes/index.ts +2 -2
- package/src/deploy/kubernetes/kubeEnv.ts +3 -3
- package/src/deploy/kubernetes/kubeValues.ts +5 -8
- package/src/deploy/types/base.ts +0 -6
- package/src/deploy/types/kubernetes.ts +1 -36
- package/src/globalScriptFunctions/index.ts +30 -0
- package/src/index.ts +2 -0
- package/src/pipeline/gitlab/createGitlabJobs.ts +1 -4
- package/src/pipeline/gitlab/createGitlabPipeline.ts +8 -1
- package/src/pipeline/packageManager.ts +7 -5
- package/src/runner/index.ts +0 -1
- package/src/types/config.ts +6 -9
- package/src/types/context.ts +3 -9
- package/src/types/gitlab-types.ts +1 -0
- package/src/types/jobs.ts +0 -8
- package/src/utils/gitlab.ts +19 -2
- package/src/utils/writeFiles.ts +1 -2
- package/src/variables/VariableValue.ts +6 -0
- package/src/variables/VariableValueContainingReferences.ts +89 -0
- package/src/variables/__tests__/resolveAllReferences.test.ts +110 -0
- package/src/variables/__tests__/resolveAllReferencesOnce.test.ts +64 -0
- package/src/variables/__tests__/resolveReferencesOnce.test.ts +117 -0
- package/src/variables/__tests__/variableValue.test.ts +73 -0
- package/src/variables/resolveAllReferences.ts +46 -0
- package/src/variables/resolveAllReferencesOnce.ts +44 -0
- package/src/variables/resolveReferencesOnce.ts +29 -0
- package/bin/catladder-gitlab-dev.js +0 -3
- package/bin/catladder-gitlab.js +0 -3
- package/dist/bash/replaceAsync.d.ts +0 -2
- package/dist/bundles/catladder-gitlab/index.js +0 -15
- package/dist/context/__tests__/resolveReferences.test.js +0 -368
- package/dist/context/resolveReferences.d.ts +0 -6
- package/dist/context/resolveReferences.js +0 -286
- package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +0 -85
- package/dist/deploy/kubernetes/processSecretsAsFiles.js +0 -33
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.test.ts.snap +0 -1795
- package/examples/kubernetes-with-cloud-sql-legacy.ts +0 -35
- package/scripts/bundle +0 -2
- package/src/bash/replaceAsync.ts +0 -54
- package/src/context/__tests__/resolveReferences.test.ts +0 -148
- package/src/context/resolveReferences.ts +0 -93
- package/src/deploy/kubernetes/processSecretsAsFiles.ts +0 -35
- /package/dist/{context/__tests__/resolveReferences.test.d.ts → variables/__tests__/resolveAllReferences.test.d.ts} +0 -0
|
@@ -59,6 +59,36 @@ variables:
|
|
|
59
59
|
CACHE_COMPRESSION_LEVEL: fast
|
|
60
60
|
TRANSFER_METER_FREQUENCY: 5s
|
|
61
61
|
GIT_DEPTH: '1'
|
|
62
|
+
before_script:
|
|
63
|
+
- |-
|
|
64
|
+
function escapeForDotEnv () {
|
|
65
|
+
input="\${1:-$(cat)}"
|
|
66
|
+
input="\${input//$'\\n'/\\\\n}"
|
|
67
|
+
if [[ "$input" == *\\\\n* ]]; then
|
|
68
|
+
if [[ "$input" == *\\"* && "$input" == *\\'* && "$input" == *\\\`* ]]; then
|
|
69
|
+
printf "\\"%s\\"\\n" "$input"
|
|
70
|
+
elif [[ "$input" == *\\"* && "$input" == *\\'* ]]; then
|
|
71
|
+
printf "\`%s\`\\n" "$input"
|
|
72
|
+
elif [[ "$input" == *\\"* ]]; then
|
|
73
|
+
printf "'%s'\\n" "$input"
|
|
74
|
+
else
|
|
75
|
+
printf "\\"%s\\"\\n" "$input"
|
|
76
|
+
fi
|
|
77
|
+
else
|
|
78
|
+
printf "%s\\n" "$input"
|
|
79
|
+
fi
|
|
80
|
+
}
|
|
81
|
+
- |-
|
|
82
|
+
function collapseable_section_start () {
|
|
83
|
+
local section_title="\${1}"
|
|
84
|
+
local section_description="\${2:-$section_title}"
|
|
85
|
+
echo -e "section_start:\`date +%s\`:\${section_title}[collapsed=true]\\r\\e[0K\${section_description}"
|
|
86
|
+
}
|
|
87
|
+
- |-
|
|
88
|
+
function collapseable_section_end () {
|
|
89
|
+
local section_title="\${1}"
|
|
90
|
+
echo -e "section_end:\`date +%s\`:\${section_title}\\r\\e[0K"
|
|
91
|
+
}
|
|
62
92
|
api 🛡 audit:
|
|
63
93
|
stage: test
|
|
64
94
|
image: path/to/docker/jobs-default:the-version
|
|
@@ -67,9 +97,9 @@ api 🛡 audit:
|
|
|
67
97
|
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
68
98
|
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
69
99
|
script:
|
|
70
|
-
-
|
|
100
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
71
101
|
- export APP_PATH="api"
|
|
72
|
-
-
|
|
102
|
+
- collapseable_section_end "injectvars"
|
|
73
103
|
- cd api
|
|
74
104
|
- yarn npm audit --environment production
|
|
75
105
|
rules:
|
|
@@ -99,21 +129,21 @@ api 👮 lint:
|
|
|
99
129
|
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
100
130
|
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
101
131
|
script:
|
|
102
|
-
-
|
|
132
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
103
133
|
- export APP_PATH="api"
|
|
104
|
-
-
|
|
105
|
-
-
|
|
134
|
+
- collapseable_section_end "injectvars"
|
|
135
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
106
136
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
107
137
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
108
|
-
-
|
|
138
|
+
- collapseable_section_end "nodeinstall"
|
|
109
139
|
- cd api
|
|
110
|
-
-
|
|
140
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
111
141
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
112
142
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
113
|
-
-
|
|
114
|
-
-
|
|
143
|
+
- collapseable_section_end "nodeinstall"
|
|
144
|
+
- collapseable_section_start "yarninstall" "Yarn install"
|
|
115
145
|
- yarn install --immutable
|
|
116
|
-
-
|
|
146
|
+
- collapseable_section_end "yarninstall"
|
|
117
147
|
- yarn lint
|
|
118
148
|
cache:
|
|
119
149
|
- key: api-yarn
|
|
@@ -146,21 +176,21 @@ api 🧪 test:
|
|
|
146
176
|
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
147
177
|
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
148
178
|
script:
|
|
149
|
-
-
|
|
179
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
150
180
|
- export APP_PATH="api"
|
|
151
|
-
-
|
|
152
|
-
-
|
|
181
|
+
- collapseable_section_end "injectvars"
|
|
182
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
153
183
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
154
184
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
155
|
-
-
|
|
185
|
+
- collapseable_section_end "nodeinstall"
|
|
156
186
|
- cd api
|
|
157
|
-
-
|
|
187
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
158
188
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
159
189
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
160
|
-
-
|
|
161
|
-
-
|
|
190
|
+
- collapseable_section_end "nodeinstall"
|
|
191
|
+
- collapseable_section_start "yarninstall" "Yarn install"
|
|
162
192
|
- yarn install --immutable
|
|
163
|
-
-
|
|
193
|
+
- collapseable_section_end "yarninstall"
|
|
164
194
|
- yarn test
|
|
165
195
|
cache:
|
|
166
196
|
- key: api-yarn
|
|
@@ -193,33 +223,45 @@ api 🧪 test:
|
|
|
193
223
|
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
194
224
|
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
195
225
|
script:
|
|
196
|
-
-
|
|
226
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
197
227
|
- export ENV_SHORT="dev"
|
|
198
228
|
- export APP_DIR="api"
|
|
199
229
|
- export ENV_TYPE="dev"
|
|
200
230
|
- export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"
|
|
201
231
|
- export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"
|
|
202
232
|
- export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"
|
|
203
|
-
- export
|
|
233
|
+
- export HOSTNAME="unknown-host.example.com"
|
|
204
234
|
- export ROOT_URL="https://unknown-host.example.com"
|
|
205
|
-
- export
|
|
206
|
-
- export HOST_CANONICAL="unknown-host.example.com"
|
|
235
|
+
- export HOSTNAME_INTERNAL="unknown-host.example.com"
|
|
207
236
|
- export ROOT_URL_INTERNAL="https://unknown-host.example.com"
|
|
208
|
-
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"
|
|
209
|
-
-
|
|
237
|
+
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOSTNAME\\",\\"ROOT_URL\\",\\"HOSTNAME_INTERNAL\\",\\"ROOT_URL_INTERNAL\\"]"
|
|
238
|
+
- collapseable_section_end "injectvars"
|
|
239
|
+
- collapseable_section_start "write-dotenv-api" "write dot env for api"
|
|
240
|
+
- |-
|
|
241
|
+
cat <<EOF > api/.env
|
|
242
|
+
ENV_SHORT=dev
|
|
243
|
+
APP_DIR=api
|
|
244
|
+
ENV_TYPE=dev
|
|
245
|
+
HOSTNAME=unknown-host.example.com
|
|
246
|
+
ROOT_URL=https://unknown-host.example.com
|
|
247
|
+
HOSTNAME_INTERNAL=unknown-host.example.com
|
|
248
|
+
ROOT_URL_INTERNAL=https://unknown-host.example.com
|
|
249
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOSTNAME","ROOT_URL","HOSTNAME_INTERNAL","ROOT_URL_INTERNAL"]
|
|
250
|
+
EOF
|
|
251
|
+
- collapseable_section_end "write-dotenv-api"
|
|
210
252
|
- echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json
|
|
211
|
-
-
|
|
253
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
212
254
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
213
255
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
214
|
-
-
|
|
256
|
+
- collapseable_section_end "nodeinstall"
|
|
215
257
|
- cd api
|
|
216
|
-
-
|
|
258
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
217
259
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
218
260
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
219
|
-
-
|
|
220
|
-
-
|
|
261
|
+
- collapseable_section_end "nodeinstall"
|
|
262
|
+
- collapseable_section_start "yarninstall" "Yarn install"
|
|
221
263
|
- yarn install --immutable
|
|
222
|
-
-
|
|
264
|
+
- collapseable_section_end "yarninstall"
|
|
223
265
|
- yarn build
|
|
224
266
|
cache:
|
|
225
267
|
- key: api-yarn
|
|
@@ -230,15 +272,13 @@ api 🧪 test:
|
|
|
230
272
|
policy: pull-push
|
|
231
273
|
paths:
|
|
232
274
|
- api/node_modules
|
|
233
|
-
- key: api-next-cache
|
|
234
|
-
policy: pull-push
|
|
235
|
-
paths:
|
|
236
|
-
- api/.next/cache
|
|
237
275
|
artifacts:
|
|
238
276
|
paths:
|
|
239
277
|
- api/__build_info.json
|
|
240
278
|
- api/.next
|
|
241
279
|
- api/dist
|
|
280
|
+
exclude:
|
|
281
|
+
- api/.env
|
|
242
282
|
expire_in: 1 day
|
|
243
283
|
when: always
|
|
244
284
|
reports: {}
|
|
@@ -254,8 +294,8 @@ api 🧪 test:
|
|
|
254
294
|
image: aquasec/trivy:0.38.3
|
|
255
295
|
variables: {}
|
|
256
296
|
script:
|
|
257
|
-
-
|
|
258
|
-
-
|
|
297
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
298
|
+
- collapseable_section_end "injectvars"
|
|
259
299
|
- trivy fs --quiet --format cyclonedx --output "__sbom.json" api
|
|
260
300
|
artifacts:
|
|
261
301
|
paths:
|
|
@@ -276,33 +316,45 @@ api 🧪 test:
|
|
|
276
316
|
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
277
317
|
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
278
318
|
script:
|
|
279
|
-
-
|
|
319
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
280
320
|
- export ENV_SHORT="asdf"
|
|
281
321
|
- export APP_DIR="api"
|
|
282
322
|
- export ENV_TYPE="dev"
|
|
283
323
|
- export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"
|
|
284
324
|
- export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"
|
|
285
325
|
- export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"
|
|
286
|
-
- export
|
|
326
|
+
- export HOSTNAME="unknown-host.example.com"
|
|
287
327
|
- export ROOT_URL="https://unknown-host.example.com"
|
|
288
|
-
- export
|
|
289
|
-
- export HOST_CANONICAL="unknown-host.example.com"
|
|
328
|
+
- export HOSTNAME_INTERNAL="unknown-host.example.com"
|
|
290
329
|
- export ROOT_URL_INTERNAL="https://unknown-host.example.com"
|
|
291
|
-
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"
|
|
292
|
-
-
|
|
330
|
+
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOSTNAME\\",\\"ROOT_URL\\",\\"HOSTNAME_INTERNAL\\",\\"ROOT_URL_INTERNAL\\"]"
|
|
331
|
+
- collapseable_section_end "injectvars"
|
|
332
|
+
- collapseable_section_start "write-dotenv-api" "write dot env for api"
|
|
333
|
+
- |-
|
|
334
|
+
cat <<EOF > api/.env
|
|
335
|
+
ENV_SHORT=asdf
|
|
336
|
+
APP_DIR=api
|
|
337
|
+
ENV_TYPE=dev
|
|
338
|
+
HOSTNAME=unknown-host.example.com
|
|
339
|
+
ROOT_URL=https://unknown-host.example.com
|
|
340
|
+
HOSTNAME_INTERNAL=unknown-host.example.com
|
|
341
|
+
ROOT_URL_INTERNAL=https://unknown-host.example.com
|
|
342
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOSTNAME","ROOT_URL","HOSTNAME_INTERNAL","ROOT_URL_INTERNAL"]
|
|
343
|
+
EOF
|
|
344
|
+
- collapseable_section_end "write-dotenv-api"
|
|
293
345
|
- echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json
|
|
294
|
-
-
|
|
346
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
295
347
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
296
348
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
297
|
-
-
|
|
349
|
+
- collapseable_section_end "nodeinstall"
|
|
298
350
|
- cd api
|
|
299
|
-
-
|
|
351
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
300
352
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
301
353
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
302
|
-
-
|
|
303
|
-
-
|
|
354
|
+
- collapseable_section_end "nodeinstall"
|
|
355
|
+
- collapseable_section_start "yarninstall" "Yarn install"
|
|
304
356
|
- yarn install --immutable
|
|
305
|
-
-
|
|
357
|
+
- collapseable_section_end "yarninstall"
|
|
306
358
|
- yarn build
|
|
307
359
|
cache:
|
|
308
360
|
- key: api-yarn
|
|
@@ -313,15 +365,13 @@ api 🧪 test:
|
|
|
313
365
|
policy: pull-push
|
|
314
366
|
paths:
|
|
315
367
|
- api/node_modules
|
|
316
|
-
- key: api-next-cache
|
|
317
|
-
policy: pull-push
|
|
318
|
-
paths:
|
|
319
|
-
- api/.next/cache
|
|
320
368
|
artifacts:
|
|
321
369
|
paths:
|
|
322
370
|
- api/__build_info.json
|
|
323
371
|
- api/.next
|
|
324
372
|
- api/dist
|
|
373
|
+
exclude:
|
|
374
|
+
- api/.env
|
|
325
375
|
expire_in: 1 day
|
|
326
376
|
when: always
|
|
327
377
|
reports: {}
|
|
@@ -337,8 +387,8 @@ api 🧪 test:
|
|
|
337
387
|
image: aquasec/trivy:0.38.3
|
|
338
388
|
variables: {}
|
|
339
389
|
script:
|
|
340
|
-
-
|
|
341
|
-
-
|
|
390
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
391
|
+
- collapseable_section_end "injectvars"
|
|
342
392
|
- trivy fs --quiet --format cyclonedx --output "__sbom.json" api
|
|
343
393
|
artifacts:
|
|
344
394
|
paths:
|
|
@@ -359,33 +409,45 @@ api 🧪 test:
|
|
|
359
409
|
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
360
410
|
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
361
411
|
script:
|
|
362
|
-
-
|
|
412
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
363
413
|
- export ENV_SHORT="bla"
|
|
364
414
|
- export APP_DIR="api"
|
|
365
415
|
- export ENV_TYPE="dev"
|
|
366
416
|
- export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"
|
|
367
417
|
- export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"
|
|
368
418
|
- export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"
|
|
369
|
-
- export
|
|
419
|
+
- export HOSTNAME="unknown-host.example.com"
|
|
370
420
|
- export ROOT_URL="https://unknown-host.example.com"
|
|
371
|
-
- export
|
|
372
|
-
- export HOST_CANONICAL="unknown-host.example.com"
|
|
421
|
+
- export HOSTNAME_INTERNAL="unknown-host.example.com"
|
|
373
422
|
- export ROOT_URL_INTERNAL="https://unknown-host.example.com"
|
|
374
|
-
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"
|
|
375
|
-
-
|
|
423
|
+
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOSTNAME\\",\\"ROOT_URL\\",\\"HOSTNAME_INTERNAL\\",\\"ROOT_URL_INTERNAL\\"]"
|
|
424
|
+
- collapseable_section_end "injectvars"
|
|
425
|
+
- collapseable_section_start "write-dotenv-api" "write dot env for api"
|
|
426
|
+
- |-
|
|
427
|
+
cat <<EOF > api/.env
|
|
428
|
+
ENV_SHORT=bla
|
|
429
|
+
APP_DIR=api
|
|
430
|
+
ENV_TYPE=dev
|
|
431
|
+
HOSTNAME=unknown-host.example.com
|
|
432
|
+
ROOT_URL=https://unknown-host.example.com
|
|
433
|
+
HOSTNAME_INTERNAL=unknown-host.example.com
|
|
434
|
+
ROOT_URL_INTERNAL=https://unknown-host.example.com
|
|
435
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOSTNAME","ROOT_URL","HOSTNAME_INTERNAL","ROOT_URL_INTERNAL"]
|
|
436
|
+
EOF
|
|
437
|
+
- collapseable_section_end "write-dotenv-api"
|
|
376
438
|
- echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json
|
|
377
|
-
-
|
|
439
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
378
440
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
379
441
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
380
|
-
-
|
|
442
|
+
- collapseable_section_end "nodeinstall"
|
|
381
443
|
- cd api
|
|
382
|
-
-
|
|
444
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
383
445
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
384
446
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
385
|
-
-
|
|
386
|
-
-
|
|
447
|
+
- collapseable_section_end "nodeinstall"
|
|
448
|
+
- collapseable_section_start "yarninstall" "Yarn install"
|
|
387
449
|
- yarn install --immutable
|
|
388
|
-
-
|
|
450
|
+
- collapseable_section_end "yarninstall"
|
|
389
451
|
- yarn build
|
|
390
452
|
cache:
|
|
391
453
|
- key: api-yarn
|
|
@@ -396,15 +458,13 @@ api 🧪 test:
|
|
|
396
458
|
policy: pull-push
|
|
397
459
|
paths:
|
|
398
460
|
- api/node_modules
|
|
399
|
-
- key: api-next-cache
|
|
400
|
-
policy: pull-push
|
|
401
|
-
paths:
|
|
402
|
-
- api/.next/cache
|
|
403
461
|
artifacts:
|
|
404
462
|
paths:
|
|
405
463
|
- api/__build_info.json
|
|
406
464
|
- api/.next
|
|
407
465
|
- api/dist
|
|
466
|
+
exclude:
|
|
467
|
+
- api/.env
|
|
408
468
|
expire_in: 1 day
|
|
409
469
|
when: always
|
|
410
470
|
reports: {}
|
|
@@ -420,8 +480,8 @@ api 🧪 test:
|
|
|
420
480
|
image: aquasec/trivy:0.38.3
|
|
421
481
|
variables: {}
|
|
422
482
|
script:
|
|
423
|
-
-
|
|
424
|
-
-
|
|
483
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
484
|
+
- collapseable_section_end "injectvars"
|
|
425
485
|
- trivy fs --quiet --format cyclonedx --output "__sbom.json" api
|
|
426
486
|
artifacts:
|
|
427
487
|
paths:
|
|
@@ -442,33 +502,45 @@ api 🧪 test:
|
|
|
442
502
|
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
443
503
|
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
444
504
|
script:
|
|
445
|
-
-
|
|
505
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
446
506
|
- export ENV_SHORT="review"
|
|
447
507
|
- export APP_DIR="api"
|
|
448
508
|
- export ENV_TYPE="review"
|
|
449
509
|
- export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"
|
|
450
510
|
- export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"
|
|
451
511
|
- export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"
|
|
452
|
-
- export
|
|
512
|
+
- export HOSTNAME="unknown-host.example.com"
|
|
453
513
|
- export ROOT_URL="https://unknown-host.example.com"
|
|
454
|
-
- export
|
|
455
|
-
- export HOST_CANONICAL="unknown-host.example.com"
|
|
514
|
+
- export HOSTNAME_INTERNAL="unknown-host.example.com"
|
|
456
515
|
- export ROOT_URL_INTERNAL="https://unknown-host.example.com"
|
|
457
|
-
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"
|
|
458
|
-
-
|
|
516
|
+
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOSTNAME\\",\\"ROOT_URL\\",\\"HOSTNAME_INTERNAL\\",\\"ROOT_URL_INTERNAL\\"]"
|
|
517
|
+
- collapseable_section_end "injectvars"
|
|
518
|
+
- collapseable_section_start "write-dotenv-api" "write dot env for api"
|
|
519
|
+
- |-
|
|
520
|
+
cat <<EOF > api/.env
|
|
521
|
+
ENV_SHORT=review
|
|
522
|
+
APP_DIR=api
|
|
523
|
+
ENV_TYPE=review
|
|
524
|
+
HOSTNAME=unknown-host.example.com
|
|
525
|
+
ROOT_URL=https://unknown-host.example.com
|
|
526
|
+
HOSTNAME_INTERNAL=unknown-host.example.com
|
|
527
|
+
ROOT_URL_INTERNAL=https://unknown-host.example.com
|
|
528
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOSTNAME","ROOT_URL","HOSTNAME_INTERNAL","ROOT_URL_INTERNAL"]
|
|
529
|
+
EOF
|
|
530
|
+
- collapseable_section_end "write-dotenv-api"
|
|
459
531
|
- echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json
|
|
460
|
-
-
|
|
532
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
461
533
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
462
534
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
463
|
-
-
|
|
535
|
+
- collapseable_section_end "nodeinstall"
|
|
464
536
|
- cd api
|
|
465
|
-
-
|
|
537
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
466
538
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
467
539
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
468
|
-
-
|
|
469
|
-
-
|
|
540
|
+
- collapseable_section_end "nodeinstall"
|
|
541
|
+
- collapseable_section_start "yarninstall" "Yarn install"
|
|
470
542
|
- yarn install --immutable
|
|
471
|
-
-
|
|
543
|
+
- collapseable_section_end "yarninstall"
|
|
472
544
|
- yarn build
|
|
473
545
|
cache:
|
|
474
546
|
- key: api-yarn
|
|
@@ -479,15 +551,13 @@ api 🧪 test:
|
|
|
479
551
|
policy: pull-push
|
|
480
552
|
paths:
|
|
481
553
|
- api/node_modules
|
|
482
|
-
- key: api-next-cache
|
|
483
|
-
policy: pull-push
|
|
484
|
-
paths:
|
|
485
|
-
- api/.next/cache
|
|
486
554
|
artifacts:
|
|
487
555
|
paths:
|
|
488
556
|
- api/__build_info.json
|
|
489
557
|
- api/.next
|
|
490
558
|
- api/dist
|
|
559
|
+
exclude:
|
|
560
|
+
- api/.env
|
|
491
561
|
expire_in: 1 day
|
|
492
562
|
when: always
|
|
493
563
|
reports: {}
|
|
@@ -501,8 +571,8 @@ api 🧪 test:
|
|
|
501
571
|
image: aquasec/trivy:0.38.3
|
|
502
572
|
variables: {}
|
|
503
573
|
script:
|
|
504
|
-
-
|
|
505
|
-
-
|
|
574
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
575
|
+
- collapseable_section_end "injectvars"
|
|
506
576
|
- trivy fs --quiet --format cyclonedx --output "__sbom.json" api
|
|
507
577
|
artifacts:
|
|
508
578
|
paths:
|
|
@@ -521,33 +591,45 @@ api 🧪 test:
|
|
|
521
591
|
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
522
592
|
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
523
593
|
script:
|
|
524
|
-
-
|
|
594
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
525
595
|
- export ENV_SHORT="stage"
|
|
526
596
|
- export APP_DIR="api"
|
|
527
597
|
- export ENV_TYPE="stage"
|
|
528
598
|
- export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"
|
|
529
599
|
- export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"
|
|
530
600
|
- export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"
|
|
531
|
-
- export
|
|
601
|
+
- export HOSTNAME="unknown-host.example.com"
|
|
532
602
|
- export ROOT_URL="https://unknown-host.example.com"
|
|
533
|
-
- export
|
|
534
|
-
- export HOST_CANONICAL="unknown-host.example.com"
|
|
603
|
+
- export HOSTNAME_INTERNAL="unknown-host.example.com"
|
|
535
604
|
- export ROOT_URL_INTERNAL="https://unknown-host.example.com"
|
|
536
|
-
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"
|
|
537
|
-
-
|
|
605
|
+
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOSTNAME\\",\\"ROOT_URL\\",\\"HOSTNAME_INTERNAL\\",\\"ROOT_URL_INTERNAL\\"]"
|
|
606
|
+
- collapseable_section_end "injectvars"
|
|
607
|
+
- collapseable_section_start "write-dotenv-api" "write dot env for api"
|
|
608
|
+
- |-
|
|
609
|
+
cat <<EOF > api/.env
|
|
610
|
+
ENV_SHORT=stage
|
|
611
|
+
APP_DIR=api
|
|
612
|
+
ENV_TYPE=stage
|
|
613
|
+
HOSTNAME=unknown-host.example.com
|
|
614
|
+
ROOT_URL=https://unknown-host.example.com
|
|
615
|
+
HOSTNAME_INTERNAL=unknown-host.example.com
|
|
616
|
+
ROOT_URL_INTERNAL=https://unknown-host.example.com
|
|
617
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOSTNAME","ROOT_URL","HOSTNAME_INTERNAL","ROOT_URL_INTERNAL"]
|
|
618
|
+
EOF
|
|
619
|
+
- collapseable_section_end "write-dotenv-api"
|
|
538
620
|
- echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json
|
|
539
|
-
-
|
|
621
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
540
622
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
541
623
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
542
|
-
-
|
|
624
|
+
- collapseable_section_end "nodeinstall"
|
|
543
625
|
- cd api
|
|
544
|
-
-
|
|
626
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
545
627
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
546
628
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
547
|
-
-
|
|
548
|
-
-
|
|
629
|
+
- collapseable_section_end "nodeinstall"
|
|
630
|
+
- collapseable_section_start "yarninstall" "Yarn install"
|
|
549
631
|
- yarn install --immutable
|
|
550
|
-
-
|
|
632
|
+
- collapseable_section_end "yarninstall"
|
|
551
633
|
- yarn build
|
|
552
634
|
cache:
|
|
553
635
|
- key: api-yarn
|
|
@@ -558,15 +640,13 @@ api 🧪 test:
|
|
|
558
640
|
policy: pull-push
|
|
559
641
|
paths:
|
|
560
642
|
- api/node_modules
|
|
561
|
-
- key: api-next-cache
|
|
562
|
-
policy: pull-push
|
|
563
|
-
paths:
|
|
564
|
-
- api/.next/cache
|
|
565
643
|
artifacts:
|
|
566
644
|
paths:
|
|
567
645
|
- api/__build_info.json
|
|
568
646
|
- api/.next
|
|
569
647
|
- api/dist
|
|
648
|
+
exclude:
|
|
649
|
+
- api/.env
|
|
570
650
|
expire_in: 1 day
|
|
571
651
|
when: always
|
|
572
652
|
reports: {}
|
|
@@ -580,8 +660,8 @@ api 🧪 test:
|
|
|
580
660
|
image: aquasec/trivy:0.38.3
|
|
581
661
|
variables: {}
|
|
582
662
|
script:
|
|
583
|
-
-
|
|
584
|
-
-
|
|
663
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
664
|
+
- collapseable_section_end "injectvars"
|
|
585
665
|
- trivy fs --quiet --format cyclonedx --output "__sbom.json" api
|
|
586
666
|
artifacts:
|
|
587
667
|
paths:
|
|
@@ -600,33 +680,45 @@ api 🧪 test:
|
|
|
600
680
|
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
601
681
|
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
602
682
|
script:
|
|
603
|
-
-
|
|
683
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
604
684
|
- export ENV_SHORT="prod"
|
|
605
685
|
- export APP_DIR="api"
|
|
606
686
|
- export ENV_TYPE="prod"
|
|
607
687
|
- export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"
|
|
608
688
|
- export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"
|
|
609
689
|
- export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"
|
|
610
|
-
- export
|
|
690
|
+
- export HOSTNAME="unknown-host.example.com"
|
|
611
691
|
- export ROOT_URL="https://unknown-host.example.com"
|
|
612
|
-
- export
|
|
613
|
-
- export HOST_CANONICAL="unknown-host.example.com"
|
|
692
|
+
- export HOSTNAME_INTERNAL="unknown-host.example.com"
|
|
614
693
|
- export ROOT_URL_INTERNAL="https://unknown-host.example.com"
|
|
615
|
-
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"
|
|
616
|
-
-
|
|
694
|
+
- export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOSTNAME\\",\\"ROOT_URL\\",\\"HOSTNAME_INTERNAL\\",\\"ROOT_URL_INTERNAL\\"]"
|
|
695
|
+
- collapseable_section_end "injectvars"
|
|
696
|
+
- collapseable_section_start "write-dotenv-api" "write dot env for api"
|
|
697
|
+
- |-
|
|
698
|
+
cat <<EOF > api/.env
|
|
699
|
+
ENV_SHORT=prod
|
|
700
|
+
APP_DIR=api
|
|
701
|
+
ENV_TYPE=prod
|
|
702
|
+
HOSTNAME=unknown-host.example.com
|
|
703
|
+
ROOT_URL=https://unknown-host.example.com
|
|
704
|
+
HOSTNAME_INTERNAL=unknown-host.example.com
|
|
705
|
+
ROOT_URL_INTERNAL=https://unknown-host.example.com
|
|
706
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOSTNAME","ROOT_URL","HOSTNAME_INTERNAL","ROOT_URL_INTERNAL"]
|
|
707
|
+
EOF
|
|
708
|
+
- collapseable_section_end "write-dotenv-api"
|
|
617
709
|
- echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json
|
|
618
|
-
-
|
|
710
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
619
711
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
620
712
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
621
|
-
-
|
|
713
|
+
- collapseable_section_end "nodeinstall"
|
|
622
714
|
- cd api
|
|
623
|
-
-
|
|
715
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
624
716
|
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
625
717
|
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
626
|
-
-
|
|
627
|
-
-
|
|
718
|
+
- collapseable_section_end "nodeinstall"
|
|
719
|
+
- collapseable_section_start "yarninstall" "Yarn install"
|
|
628
720
|
- yarn install --immutable
|
|
629
|
-
-
|
|
721
|
+
- collapseable_section_end "yarninstall"
|
|
630
722
|
- yarn build
|
|
631
723
|
cache:
|
|
632
724
|
- key: api-yarn
|
|
@@ -637,15 +729,13 @@ api 🧪 test:
|
|
|
637
729
|
policy: pull-push
|
|
638
730
|
paths:
|
|
639
731
|
- api/node_modules
|
|
640
|
-
- key: api-next-cache
|
|
641
|
-
policy: pull-push
|
|
642
|
-
paths:
|
|
643
|
-
- api/.next/cache
|
|
644
732
|
artifacts:
|
|
645
733
|
paths:
|
|
646
734
|
- api/__build_info.json
|
|
647
735
|
- api/.next
|
|
648
736
|
- api/dist
|
|
737
|
+
exclude:
|
|
738
|
+
- api/.env
|
|
649
739
|
expire_in: 1 day
|
|
650
740
|
when: always
|
|
651
741
|
reports: {}
|
|
@@ -659,8 +749,8 @@ api 🧪 test:
|
|
|
659
749
|
image: aquasec/trivy:0.38.3
|
|
660
750
|
variables: {}
|
|
661
751
|
script:
|
|
662
|
-
-
|
|
663
|
-
-
|
|
752
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
753
|
+
- collapseable_section_end "injectvars"
|
|
664
754
|
- trivy fs --quiet --format cyclonedx --output "__sbom.json" api
|
|
665
755
|
artifacts:
|
|
666
756
|
paths:
|