This commit is contained in:
@@ -69,27 +69,26 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
powershell '''
|
powershell '''
|
||||||
$ErrorActionPreference = 'Stop'
|
$ErrorActionPreference = 'Stop'
|
||||||
$env:CARGO_HOME = "$env:WORKSPACE_TMP/cargo-home"
|
$workspaceTmp = if ($env:WORKSPACE_TMP) { $env:WORKSPACE_TMP } else { "$env:WORKSPACE@tmp" }
|
||||||
$env:CARGO_TARGET_DIR = "$env:WORKSPACE_TMP/cargo-target/prod-release"
|
$effectiveBuildVersion = if ($env:EFFECTIVE_BUILD_VERSION) { $env:EFFECTIVE_BUILD_VERSION } elseif ($env:BUILD_VERSION) { $env:BUILD_VERSION } else { $env:BUILD_NUMBER }
|
||||||
|
$env:CARGO_HOME = "$workspaceTmp/cargo-home"
|
||||||
|
$env:CARGO_TARGET_DIR = "$workspaceTmp/cargo-target/prod-release"
|
||||||
$env:SCCACHE_DIR = "$env:USERPROFILE/.cache/sccache-stdb-module"
|
$env:SCCACHE_DIR = "$env:USERPROFILE/.cache/sccache-stdb-module"
|
||||||
$env:PATH = "$env:CARGO_HOME/bin;$env:PATH"
|
$env:PATH = "$env:CARGO_HOME/bin;$env:PATH"
|
||||||
if (-not (Get-Command bash -ErrorAction SilentlyContinue)) {
|
if (-not (Get-Command bash -ErrorAction SilentlyContinue)) {
|
||||||
throw '[stdb-build] Windows 构建节点缺少 bash,无法执行仓库现有生产构建脚本。请先安装 Git Bash 或 WSL bash,并确保 bash 在 PATH 中。'
|
throw '[stdb-build] Windows 构建节点缺少 bash,无法执行仓库现有生产构建脚本。请先安装 Git Bash 或 WSL bash,并确保 bash 在 PATH 中。'
|
||||||
}
|
}
|
||||||
$bashEnv = @(
|
$bashScript = @"
|
||||||
"CARGO_HOME=$($env:CARGO_HOME)",
|
|
||||||
"CARGO_TARGET_DIR=$($env:CARGO_TARGET_DIR)",
|
|
||||||
"CARGO_INCREMENTAL=$($env:CARGO_INCREMENTAL)",
|
|
||||||
"RUSTC_WRAPPER=$($env:RUSTC_WRAPPER)",
|
|
||||||
"SCCACHE_DIR=$($env:SCCACHE_DIR)",
|
|
||||||
"SCCACHE_CACHE_SIZE=$($env:SCCACHE_CACHE_SIZE)",
|
|
||||||
"SOURCE_BRANCH=$($env:SOURCE_BRANCH)",
|
|
||||||
"SOURCE_COMMIT=$($env:SOURCE_COMMIT)",
|
|
||||||
"EFFECTIVE_BUILD_VERSION=$($env:EFFECTIVE_BUILD_VERSION)"
|
|
||||||
) -join ' '
|
|
||||||
bash -lc "
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
export $bashEnv
|
export CARGO_HOME="`$(cygpath -u '$($env:CARGO_HOME)')"
|
||||||
|
export CARGO_TARGET_DIR="`$(cygpath -u '$($env:CARGO_TARGET_DIR)')"
|
||||||
|
export SCCACHE_DIR="`$(cygpath -u '$($env:SCCACHE_DIR)')"
|
||||||
|
export CARGO_INCREMENTAL='$($env:CARGO_INCREMENTAL)'
|
||||||
|
export RUSTC_WRAPPER='$($env:RUSTC_WRAPPER)'
|
||||||
|
export SCCACHE_CACHE_SIZE='$($env:SCCACHE_CACHE_SIZE)'
|
||||||
|
export SOURCE_BRANCH='$($env:SOURCE_BRANCH)'
|
||||||
|
export SOURCE_COMMIT='$($env:SOURCE_COMMIT)'
|
||||||
|
export EFFECTIVE_BUILD_VERSION='$effectiveBuildVersion'
|
||||||
chmod +x scripts/jenkins-prepare-cargo-env.sh
|
chmod +x scripts/jenkins-prepare-cargo-env.sh
|
||||||
source scripts/jenkins-prepare-cargo-env.sh
|
source scripts/jenkins-prepare-cargo-env.sh
|
||||||
if ! command -v cargo >/dev/null 2>&1; then
|
if ! command -v cargo >/dev/null 2>&1; then
|
||||||
@@ -100,8 +99,9 @@ pipeline {
|
|||||||
echo '[stdb-build] 未找到 sccache,改用 rustc 直接构建。'
|
echo '[stdb-build] 未找到 sccache,改用 rustc 直接构建。'
|
||||||
unset RUSTC_WRAPPER
|
unset RUSTC_WRAPPER
|
||||||
fi
|
fi
|
||||||
npm run build:production-release -- --component spacetime-module --name \"\${EFFECTIVE_BUILD_VERSION}\"
|
npm run build:production-release -- --component spacetime-module --name "`$EFFECTIVE_BUILD_VERSION"
|
||||||
"
|
"@
|
||||||
|
bash -lc $bashScript
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user