|
|
@@ -0,0 +1,60 @@
|
|
|
+# 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 = "E:\obsutil_windows_amd64_5.7.9\obsutil.exe"
|
|
|
+$HCLOUD = "E:\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"
|