ソースを参照

Adopt existing postcardmojo.com IIS site via opt-in -AdoptExisting switch

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
master
Daniel Covington 4日前
親
コミット
e253864050
2個のファイルの変更、18行の追加、8行の削除
  1. +5
    -2
      scripts/deploy-iis-git.ps1
  2. +13
    -6
      scripts/install-iis-release.ps1

+ 5
- 2
scripts/deploy-iis-git.ps1 ファイルの表示

@@ -14,9 +14,9 @@
[CmdletBinding()]
param(
[ValidatePattern('^[A-Za-z0-9_. -]+$')]
[string]$SiteName = 'PostcardMojo',
[string]$SiteName = 'postcardmojo.com',
[ValidatePattern('^[A-Za-z0-9_. -]+$')]
[string]$AppPoolName = 'PostcardMojo',
[string]$AppPoolName = 'postcardmojo.com',
[string]$DeployRoot = 'C:\inetpub\postcardmojo',
[string]$BindingIpAddress = '192.168.1.115',
[ValidateRange(1, 65535)]
@@ -38,6 +38,7 @@ param(
[switch]$AllowAnyBranch,
[switch]$AllowDirty,
[switch]$RunMigrations,
[switch]$AdoptExisting,
[switch]$SkipSmokeTest,
[Alias('HostPreflightOnly', 'RemotePreflightOnly')]
[switch]$PreflightOnly,
@@ -199,6 +200,7 @@ if ($ReleaseId -notmatch '^[A-Za-z0-9._-]+$') { throw 'ReleaseId contains unsupp
if ($Rollback -and [string]::IsNullOrWhiteSpace($RollbackTo)) { throw '-Rollback requires -RollbackTo.' }
if ((-not $Rollback) -and -not [string]::IsNullOrWhiteSpace($RollbackTo)) { throw '-RollbackTo requires -Rollback.' }
if ($RunMigrations -and $Rollback) { throw '-RunMigrations is not valid during rollback.' }
if ($AdoptExisting -and $Rollback) { throw '-AdoptExisting is not valid during rollback.' }
if (($PreflightOnly -or $LocalPreflightOnly) -and $Rollback) {
throw 'Preflight modes cannot be combined with -Rollback.'
}
@@ -257,6 +259,7 @@ try {
Add-RemoteArgument $remoteArguments '-ExpectedSha256' $sha256
}
if ($RunMigrations) { $remoteArguments.Add('-RunMigrations') }
if ($AdoptExisting) { $remoteArguments.Add('-AdoptExisting') }
if ($SkipSmokeTest) { $remoteArguments.Add('-SkipSmokeTest') }

$remoteScript = $remoteArguments -join ' '


+ 13
- 6
scripts/install-iis-release.ps1 ファイルの表示

@@ -13,9 +13,9 @@
[CmdletBinding(DefaultParameterSetName = 'Deploy')]
param(
[ValidatePattern('^[A-Za-z0-9_. -]+$')]
[string]$SiteName = 'PostcardMojo',
[string]$SiteName = 'postcardmojo.com',
[ValidatePattern('^[A-Za-z0-9_. -]+$')]
[string]$AppPoolName = 'PostcardMojo',
[string]$AppPoolName = 'postcardmojo.com',
[string]$DeployRoot = 'C:\inetpub\postcardmojo',
[string]$BindingIpAddress = '192.168.1.115',
[ValidateRange(1, 65535)]
@@ -39,6 +39,7 @@ param(
[string]$ExpectedSha256 = '',
[switch]$RunMigrations,
[switch]$SkipSmokeTest,
[switch]$AdoptExisting,
[switch]$PreflightOnly,
[switch]$DryRun
)
@@ -204,14 +205,19 @@ function Get-TargetState {
}
$physicalPath = Get-NormalizedPath $site.physicalPath
$releasesRoot = Join-Path $DeployRoot 'releases'
if (-not (Test-PathUnderRoot -Path $physicalPath -Root $releasesRoot) -or
-not $physicalPath.EndsWith('\public', [StringComparison]::OrdinalIgnoreCase)) {
throw "Existing target physicalPath is outside this pipeline's release public directories: $physicalPath"
$managedPath = (Test-PathUnderRoot -Path $physicalPath -Root $releasesRoot) -and
$physicalPath.EndsWith('\public', [StringComparison]::OrdinalIgnoreCase)
if (-not $managedPath -and -not $AdoptExisting) {
throw "Existing target physicalPath is outside this pipeline's release public directories: $physicalPath. Pass -AdoptExisting for a one-time adoption of this site."
}
if (-not (Test-Path -LiteralPath $physicalPath -PathType Container)) {
throw "Existing target physicalPath does not exist: $physicalPath"
}
Assert-ReleaseLayout -ReleasePath (Split-Path -Parent $physicalPath)
if ($managedPath) {
Assert-ReleaseLayout -ReleasePath (Split-Path -Parent $physicalPath)
} else {
Write-Warning "Adopting existing site at unmanaged path $physicalPath; its first release will be switched in by this deployment."
}
$parentPaths = (Get-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Location $SiteName -Filter 'system.webServer/asp' -Name 'enableParentPaths').Value
return [pscustomobject]@{
Exists = $true; Site = $site; PhysicalPath = $physicalPath; ParentPaths = [bool]$parentPaths
@@ -292,6 +298,7 @@ if ($env:OS -ne 'Windows_NT') { throw 'This script must run on Windows.' }
Assert-Administrator
Import-Module WebAdministration -ErrorAction Stop
Assert-DeploymentInputs
if ($AdoptExisting -and $PSCmdlet.ParameterSetName -eq 'Rollback') { throw '-AdoptExisting is not valid during rollback.' }
$DeployRoot = Get-NormalizedPath $DeployRoot
Assert-DeployRoot -Path $DeployRoot
if (-not [string]::IsNullOrWhiteSpace($InitialWebConfigPath)) {


読み込み中…
キャンセル
保存

Powered by TurnKey Linux.