Creator App Tests / PR Spam Gate (push) Skipped
Frontend Tests / PR Spam Gate (push) Skipped
NPM Format (website & console) / PR Spam Gate (push) Skipped
Pre-commit Checks / PR Spam Gate (push) Skipped
QwenPaw Creator Plugin Release / check-version (push) Canceled after 0s
QwenPaw Creator Plugin Release / upload-oss (push) Canceled after 0s
Tests / PR Spam Gate (push) Skipped
CodeQL / CodeQL (python) (push) Canceled after 0s
CodeQL / CodeQL (typescript) (push) Canceled after 0s
Creator App Tests / Creator Backend Tests (push) Canceled after 0s
Creator App Tests / Creator UI Build & Tests (push) Canceled after 0s
E2E Smoke Tests / Playwright UI Smoke (push) Canceled after 0s
Frontend Tests / Detect console changes (push) Canceled after 0s
NPM Format (website & console) / website format check (push) Canceled after 0s
NPM Format (website & console) / console format check (push) Canceled after 0s
Pre-commit Checks / Pre-commit (push) Canceled after 0s
QwenPaw Data Plugin Release / check-version (push) Canceled after 0s
Tests / Detect code changes (push) Canceled after 0s
Frontend Tests / Vitest Unit Tests (push) Canceled after 0s
Frontend Tests / Frontend Summary (push) Canceled after 0s
QwenPaw Data Plugin Release / upload-oss (push) Canceled after 0s
Tests / Maintainer Approval (push) Canceled after 0s
Tests / Unit Tests - py3.11 - macos-latest (push) Canceled after 0s
Tests / Unit Tests - py3.11 - ubuntu-latest (push) Canceled after 0s
Tests / Unit Tests - py3.13 - ubuntu-latest (push) Canceled after 0s
Tests / Unit Tests - py3.11 - windows-latest (push) Canceled after 0s
Tests / Contract Tests - py3.11 - macos-latest (push) Canceled after 0s
Tests / Contract Tests - py3.11 - ubuntu-latest (push) Canceled after 0s
Tests / Contract Tests - py3.13 - ubuntu-latest (push) Canceled after 0s
Tests / Contract Tests - py3.11 - windows-latest (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - macos-latest - p0 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - macos-latest - p1 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - macos-latest - p2 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - ubuntu-latest - fallback (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - ubuntu-latest - p0 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - ubuntu-latest - p1 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - ubuntu-latest - p2 (push) Canceled after 0s
Tests / Integrated Tests - py3.13 - ubuntu-latest - p0 (push) Canceled after 0s
Tests / Integrated Tests - py3.13 - ubuntu-latest - p1 (push) Canceled after 0s
Tests / Integrated Tests - py3.13 - ubuntu-latest - p2 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - windows-latest - p0 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - windows-latest - p1 (push) Canceled after 0s
Tests / Integrated Tests - py3.11 - windows-latest - p2 (push) Canceled after 0s
Tests / Coverage Report (push) Canceled after 0s
Tests / Test Summary (push) Canceled after 0s
53 lines
1.9 KiB
PowerShell
53 lines
1.9 KiB
PowerShell
# Install-CLI-Windows.ps1
|
|
# Purpose: Install Alibaba Cloud CLI on Windows AMD64 systems.
|
|
[CmdletBinding()]
|
|
param (
|
|
[string]$Version = "latest",
|
|
[string]$InstallDir = "$env:LOCALAPPDATA"
|
|
)
|
|
|
|
$OSArchitecture = (Get-WmiObject -Class Win32_OperatingSystem).OSArchitecture
|
|
$ProcessorArchitecture = [int](Get-WmiObject -Class Win32_Processor).Architecture
|
|
if (-not ($OSArchitecture -match "64") -or $ProcessorArchitecture -ne 9) {
|
|
Write-Error "Alibaba Cloud CLI only supports Windows AMD64 systems."
|
|
exit 1
|
|
}
|
|
|
|
$DownloadUrl = "https://aliyuncli.alicdn.com/aliyun-cli-windows-$Version-amd64.zip"
|
|
$tempPath = $env:TEMP
|
|
$randomName = -join ((65..90) + (97..122) + (48..57) | Get-Random -Count 8)
|
|
$DownloadDir = Join-Path -Path $tempPath -ChildPath $randomName
|
|
New-Item -ItemType Directory -Path $DownloadDir | Out-Null
|
|
|
|
try {
|
|
$InstallDir = Join-Path $InstallDir "AliyunCLI"
|
|
if (-not (Test-Path $InstallDir)) {
|
|
New-Item -ItemType Directory -Path $InstallDir -Force | Out-Null
|
|
}
|
|
$ZipPath = Join-Path $DownloadDir "aliyun-cli.zip"
|
|
Start-BitsTransfer -Source $DownloadUrl -Destination $ZipPath
|
|
Expand-Archive -Path $ZipPath -DestinationPath $DownloadDir -Force
|
|
Move-Item -Path "$DownloadDir\aliyun.exe" -Destination "$InstallDir\" -Force
|
|
|
|
$Key = 'HKCU:\Environment'
|
|
$CurrentPath = (Get-ItemProperty -Path $Key -Name PATH).PATH
|
|
if ([string]::IsNullOrEmpty($CurrentPath)) {
|
|
$NewPath = $InstallDir
|
|
} else {
|
|
if ($CurrentPath -notlike "*$InstallDir*") {
|
|
$NewPath = "$CurrentPath;$InstallDir"
|
|
} else {
|
|
$NewPath = $CurrentPath
|
|
}
|
|
}
|
|
if ($NewPath -ne $CurrentPath) {
|
|
Set-ItemProperty -Path $Key -Name PATH -Value $NewPath
|
|
$env:PATH += ";$InstallDir"
|
|
}
|
|
} catch {
|
|
Write-Error "Failed to install Alibaba Cloud CLI: $_"
|
|
exit 1
|
|
} finally {
|
|
Remove-Item -Path $DownloadDir -Recurse -Force -ErrorAction SilentlyContinue
|
|
}
|