Implement script to prepare packages with Node.js
This commit is contained in:
31
installers/nix-setup-template.sh
Normal file
31
installers/nix-setup-template.sh
Normal file
@@ -0,0 +1,31 @@
|
||||
set -e
|
||||
|
||||
NODE_VERSION={0}
|
||||
|
||||
NODE_TOOLCACHE_PATH=$AGENT_TOOLSDIRECTORY/node
|
||||
NODE_TOOLCACHE_VERSION_PATH=$NODE_TOOLCACHE_PATH/$NODE_VERSION
|
||||
NODE_TOOLCACHE_VERSION_ARCH_PATH=$NODE_TOOLCACHE_VERSION_PATH/x64
|
||||
|
||||
echo "Check if Node.js hostedtoolcache folder exist..."
|
||||
if [ ! -d $NODE_TOOLCACHE_PATH ]; then
|
||||
mkdir -p $NODE_TOOLCACHE_PATH
|
||||
fi
|
||||
|
||||
echo "Delete Node.js $NODE_VERSION if installed"
|
||||
rm -rf $NODE_TOOLCACHE_VERSION_PATH
|
||||
|
||||
echo "Create Node.js $NODE_VERSION folder"
|
||||
mkdir -p $NODE_TOOLCACHE_VERSION_ARCH_PATH
|
||||
|
||||
echo "Copy Node.js binaries to hostedtoolcache folder"
|
||||
cp ./tool.tar.gz $NODE_TOOLCACHE_VERSION_ARCH_PATH
|
||||
|
||||
cd $NODE_TOOLCACHE_VERSION_ARCH_PATH
|
||||
|
||||
echo "Unzip Node.js to $NODE_TOOLCACHE_VERSION_ARCH_PATH"
|
||||
tar -zxf tool.tar.gz -C . --strip 1
|
||||
echo "Node.js unzipped successfully"
|
||||
rm tool.tar.gz
|
||||
|
||||
echo "Create complete file"
|
||||
touch $NODE_TOOLCACHE_VERSION_PATH/x64.complete
|
||||
39
installers/win-setup-template.ps1
Normal file
39
installers/win-setup-template.ps1
Normal file
@@ -0,0 +1,39 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
[Version]$Version = "{{__VERSION__}}"
|
||||
[string]$Architecture = "{{__ARCHITECTURE__}}"
|
||||
$ArchiveFileName = "tool.7z"
|
||||
$TempDirectory = Join-Path $env:TEMP "Node"
|
||||
|
||||
$NodeToolcachePath = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath "node"
|
||||
$NodeToolcacheVersionPath = Join-Path -Path $NodeToolcachePath -ChildPath $Version.ToString()
|
||||
$NodeToolcacheArchitecturePath = Join-Path $NodeToolcacheVersionPath $Architecture
|
||||
|
||||
Write-Host "Check if Node.js hostedtoolcache folder exist..."
|
||||
if (-not (Test-Path $NodeToolcachePath)) {
|
||||
New-Item -ItemType Directory -Path $NodeToolcachePath | Out-Null
|
||||
}
|
||||
|
||||
Write-Host "Delete Node.js $Version if installed"
|
||||
if (Test-Path $NodeToolcacheVersionPath) {
|
||||
Remove-Item $NodeToolcachePath -Recurse -Force | Out-Null
|
||||
}
|
||||
|
||||
Write-Host "Create Node.js $Version folder"
|
||||
if (-not (Test-Path $NodeToolcacheArchitecturePath)) {
|
||||
New-Item -ItemType Directory -Path $NodeToolcacheArchitecturePath | Out-Null
|
||||
}
|
||||
|
||||
Write-Host "Copy Node.js binaries to hostedtoolcache folder"
|
||||
Copy-Item -Path $ArchiveFileName -Destination $NodeToolcacheArchitecturePath
|
||||
|
||||
Set-Location $NodeToolcacheArchitecturePath
|
||||
Write-Host "Unzip Node.js to $NodeToolcacheArchitecturePath"
|
||||
7z.exe x $ArchiveFileName -o"$TempDirectory" -y | Out-Null
|
||||
$NodeInnerFolder = Get-Item -Path "$TempDirectory\node-*" | Select-Object -First 1
|
||||
Get-ChildItem $NodeInnerFolder | Move-Item -Destination $NodeToolcacheArchitecturePath
|
||||
Write-Host "Node.js unzipped successfully"
|
||||
|
||||
Remove-Item $ArchiveFileName -Force | Out-Null
|
||||
|
||||
Write-Host "Create complete file"
|
||||
New-Item -ItemType File -Path $NodeToolcacheVersionPath -Name "$Architecture.complete" | Out-Null
|
||||
Reference in New Issue
Block a user