| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- # Deploy video-workflow to https://app.fmode.cn/dev/video-workflow/
- $ErrorActionPreference = "Stop"
- $PROJECT_NAME = "video-workflow"
- $BASE_PATH = "/dev/$PROJECT_NAME/"
- $OBS_PATH = "obs://nova-cloud/dev/$PROJECT_NAME"
- $CDN_URL = "https://app.fmode.cn$BASE_PATH"
- # Configure tool paths.
- $OBSUTIL = "D:\EdgeDownloads\obsutil_windows_amd64\obsutil_windows_amd64_5.8.3\obsutil.exe"
- $HCLOUD = "D:\EdgeDownloads\huaweicloud-cli-windows-amd64\hcloud.exe"
- # Credentials copied from the existing apig-pay deployment script.
- $OBS_ACCESS_KEY = "XSUWJSVMZNHLWFAINRZ1"
- $OBS_SECRET_KEY = "P4TyfwfDovVNqz08tI1IXoLWXyEOSTKJRVlsGcV6"
- $OBS_ENDPOINT = "obs.cn-south-1.myhuaweicloud.com"
- $CDN_ACCESS_KEY = "2BFF7JWXAIJ0UGNJ0OSB"
- $CDN_SECRET_KEY = "NaPCiJCGmD3nklCzX65s8mSK1Py13ueyhgepa0s1"
- $CDN_REGION = "cn-north-1"
- if (-not (Test-Path -LiteralPath $OBSUTIL)) {
- throw "obsutil not found: $OBSUTIL"
- }
- if (-not (Test-Path -LiteralPath $HCLOUD)) {
- throw "hcloud not found: $HCLOUD"
- }
- function Invoke-CheckedCommand {
- param(
- [Parameter(Mandatory = $true)]
- [string] $FilePath,
- [Parameter(ValueFromRemainingArguments = $true)]
- [string[]] $Arguments
- )
- & $FilePath @Arguments
- if ($LASTEXITCODE -ne 0) {
- throw "Command failed with exit code ${LASTEXITCODE}: $FilePath $($Arguments -join ' ')"
- }
- }
- Invoke-CheckedCommand "npx" "ng" "build" "--base-href=$BASE_PATH" "--output-path=dist/$PROJECT_NAME"
- #Invoke-CheckedCommand $OBSUTIL "rm" $OBS_PATH "-r" "-f" "-i=$OBS_ACCESS_KEY" "-k=$OBS_SECRET_KEY" "-e=$OBS_ENDPOINT"
- Invoke-CheckedCommand $OBSUTIL "sync" "./dist/$PROJECT_NAME/browser" $OBS_PATH "-i=$OBS_ACCESS_KEY" "-k=$OBS_SECRET_KEY" "-e=$OBS_ENDPOINT" "-acl=public-read"
- Invoke-CheckedCommand $OBSUTIL "chattri" $OBS_PATH "-r" "-f" "-i=$OBS_ACCESS_KEY" "-k=$OBS_SECRET_KEY" "-e=$OBS_ENDPOINT" "-acl=public-read"
- Invoke-CheckedCommand $HCLOUD "CDN" "CreateRefreshTasks/v2" `
- "--cli-region=$CDN_REGION" `
- "--refresh_task.urls.1=$CDN_URL" `
- "--refresh_task.type=directory" `
- "--cli-access-key=$CDN_ACCESS_KEY" `
- "--cli-secret-key=$CDN_SECRET_KEY"
- Write-Host "Deployed: $CDN_URL"
|