TeamCity/Octopus 部署 Web 应用程序包问题
TeamCity/Octopus Deploy Web App package issue
我有一个要部署到 Azure 的 Web 应用程序。我的堆栈是:
TeamCity 9.1.6
章鱼4.0.7
我一直遇到一个问题 targeting the Staging slot 我现在可以解决了。但是,我从 TeamCity 获得的 Nuget 包在 app_data 上方包含两个额外的目录,这是我需要部署的顶级目录。为了解决暂存部署问题,我使用了与正在使用的模板 (DeployAzureWebApp) 不同的模板(部署 Azure Web 应用程序)。第一个有 pre/deploy/post 个脚本,我认为 pre 正在提取 app-data 目录并忽略其余部分。
我需要复制这个,但我现在使用的模板似乎不允许脚本。我已经阅读了一些关于 OctoPack 的内容,想知道是否可以包括一个步骤来为我重新格式化包,或者我是否应该返回 team city 并获取它以根据需要创建包。
要解决此问题,我需要做的就是从 "Configure Features" 按钮启用脚本。然后我可以让预部署脚本在部署之前更改提取的包内容。
#path variables
$projectName = $OctopusParameters['Octopus.Action.Package.PackageId']
$version = $OctopusParameters['Octopus.Action.Package.PackageVersion']
$location = Get-Location
#Write-Host "Project Name: ${projectName}"
#Write-Host "Get-Location: ${location}"
#Write-Host "Project Version: ${version}"
$appData = (Get-ChildItem -Path ${location}${projectName}.${version} -Filter "*app_data*" -Recurse -Directory).Fullname
$source = "${location}${projectName}.${version}\GeneratedWebPackages\*"
$destination = "${location}${projectName}.${version}"
#Write-Host "Source: ${source}"
#Write-Host "Destination: ${destination}"
#Write-Host "App Data Path: ${appData}"
# Move the app-data directory and all sub directories
Move-Item -Path "${appData}" -Destination "${location}" -Force
#remove the original
Remove-Item -Recurse -Force -Path "${destination}"
虽然这可行,但我认为正确的解决方法应该是让 TeamCity 首先根据需要创建包。
我有一个要部署到 Azure 的 Web 应用程序。我的堆栈是:
TeamCity 9.1.6 章鱼4.0.7
我一直遇到一个问题 targeting the Staging slot 我现在可以解决了。但是,我从 TeamCity 获得的 Nuget 包在 app_data 上方包含两个额外的目录,这是我需要部署的顶级目录。为了解决暂存部署问题,我使用了与正在使用的模板 (DeployAzureWebApp) 不同的模板(部署 Azure Web 应用程序)。第一个有 pre/deploy/post 个脚本,我认为 pre 正在提取 app-data 目录并忽略其余部分。
我需要复制这个,但我现在使用的模板似乎不允许脚本。我已经阅读了一些关于 OctoPack 的内容,想知道是否可以包括一个步骤来为我重新格式化包,或者我是否应该返回 team city 并获取它以根据需要创建包。
要解决此问题,我需要做的就是从 "Configure Features" 按钮启用脚本。然后我可以让预部署脚本在部署之前更改提取的包内容。
#path variables
$projectName = $OctopusParameters['Octopus.Action.Package.PackageId']
$version = $OctopusParameters['Octopus.Action.Package.PackageVersion']
$location = Get-Location
#Write-Host "Project Name: ${projectName}"
#Write-Host "Get-Location: ${location}"
#Write-Host "Project Version: ${version}"
$appData = (Get-ChildItem -Path ${location}${projectName}.${version} -Filter "*app_data*" -Recurse -Directory).Fullname
$source = "${location}${projectName}.${version}\GeneratedWebPackages\*"
$destination = "${location}${projectName}.${version}"
#Write-Host "Source: ${source}"
#Write-Host "Destination: ${destination}"
#Write-Host "App Data Path: ${appData}"
# Move the app-data directory and all sub directories
Move-Item -Path "${appData}" -Destination "${location}" -Force
#remove the original
Remove-Item -Recurse -Force -Path "${destination}"
虽然这可行,但我认为正确的解决方法应该是让 TeamCity 首先根据需要创建包。