fix: build static sites outside shared workspace
This commit is contained in:
parent
7bfea96fd6
commit
4ce86da69f
|
|
@ -82,10 +82,11 @@ spec:
|
||||||
steps:
|
steps:
|
||||||
- name: build-layer
|
- name: build-layer
|
||||||
image: node:22-alpine
|
image: node:22-alpine
|
||||||
workingDir: $(workspaces.source.path)
|
|
||||||
env:
|
env:
|
||||||
- name: OUTPUT_DIRECTORY
|
- name: OUTPUT_DIRECTORY
|
||||||
value: $(params.output-directory)
|
value: $(params.output-directory)
|
||||||
|
- name: SOURCE_PATH
|
||||||
|
value: $(workspaces.source.path)
|
||||||
- name: TARGET_DIRECTORY
|
- name: TARGET_DIRECTORY
|
||||||
value: $(params.target-directory)
|
value: $(params.target-directory)
|
||||||
- name: BUILD_CONFIGURATION
|
- name: BUILD_CONFIGURATION
|
||||||
|
|
@ -98,15 +99,18 @@ spec:
|
||||||
target_path=${TARGET_DIRECTORY#/}
|
target_path=${TARGET_DIRECTORY#/}
|
||||||
case "$target_path" in ''|-*|*[!A-Za-z0-9._/-]*|*..*|*//*|*/) exit 1 ;; esac
|
case "$target_path" in ''|-*|*[!A-Za-z0-9._/-]*|*..*|*//*|*/) exit 1 ;; esac
|
||||||
case "$BUILD_CONFIGURATION" in ''|-*|*[!A-Za-z0-9._-]*) exit 1 ;; esac
|
case "$BUILD_CONFIGURATION" in ''|-*|*[!A-Za-z0-9._-]*) exit 1 ;; esac
|
||||||
|
build_dir=$(mktemp -d)
|
||||||
|
cp -R "$SOURCE_PATH"/. "$build_dir"
|
||||||
|
cd "$build_dir"
|
||||||
# ponytail: no lockfile; skip install scripts and use npm ci when package-lock.json is committed.
|
# ponytail: no lockfile; skip install scripts and use npm ci when package-lock.json is committed.
|
||||||
npm install --ignore-scripts --no-audit --no-fund --package-lock=false
|
npm install --ignore-scripts --no-audit --no-fund --package-lock=false
|
||||||
npm run build -- --configuration "$BUILD_CONFIGURATION"
|
npm run build -- --configuration "$BUILD_CONFIGURATION"
|
||||||
test -d "$OUTPUT_DIRECTORY"
|
test -d "$OUTPUT_DIRECTORY"
|
||||||
layer_dir=$(mktemp -d)
|
layer_dir=$(mktemp -d)
|
||||||
trap 'rm -rf "$layer_dir"' EXIT
|
trap 'rm -rf "$build_dir" "$layer_dir"' EXIT
|
||||||
mkdir -p "$layer_dir/$target_path"
|
mkdir -p "$layer_dir/$target_path"
|
||||||
cp -R "$OUTPUT_DIRECTORY"/. "$layer_dir/$target_path/"
|
cp -R "$OUTPUT_DIRECTORY"/. "$layer_dir/$target_path/"
|
||||||
tar -C "$layer_dir" -cf layer.tar "$target_path"
|
tar -C "$layer_dir" -cf "$SOURCE_PATH/layer.tar" "$target_path"
|
||||||
---
|
---
|
||||||
apiVersion: tekton.dev/v1
|
apiVersion: tekton.dev/v1
|
||||||
kind: Task
|
kind: Task
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue