IIS自动发布脚本

目的:使用powershell脚本的方式实现自动化在iis部署网站的功能。

1.使用管理员身份运行powershell

 2.脚本如下

auto_iis_deploy.ps1

#iis自动部署脚本
param(
    [string]$siteName = "default",
    [string]$port = "80"
)

Write-Host "siteName:$siteName,port:$port"
$physicalPath="d:www$siteName"

Import-Module WebAdministration
Write-Host "Setting up IIS"

if(!(Test-Path $physicalPath))
{
    mkdir $physicalPath
}

#创建站点
Write-Host "create or update site.."
if((Test-Path IIS:Sites$siteName))
{
    Remove-Website $siteName
}
New-Website -Name $siteName -PhysicalPath $physicalPath -ApplicationPool $siteName -Port $port -ErrorAction Stop

#创建应用程序池
Write-Host "create appPool or next step.."
if(!(Test-Path IIS:AppPools$siteName))
{
    New-Item -path IIS:AppPools$siteName
}
Set-ItemProperty IIS:AppPools$siteName managedRuntimeVersion v4.0

#停止应用程序池
Write-Host "stop appPool"
$appPool=Get-WebAppPoolState -Name $siteName
if($appPool -eq "Started")
{
    Stop-WebAppPool -Name $siteName
}

#解压文件
#Write-Host "unzip the source file"
#$sourceFile=$siteName+".zip"
#[System.IO.Compression.ZipFile]::ExtractToDirectory($sourceFile,$siteName)

#启动网站
Write-Host "start website"
Start-Website -Name $siteName

#启动应用程序池
Write-Host "start webAppPool"
Start-WebAppPool -Name $siteName

Write-Host "$siteName successfully started"

这里设置的是一个空站点,可以自己设置文件路径;这里的路径是 $physicalPath 变量的值。

3.运行脚本

.auto_iis_deploy.ps1 -siteName myWeb -port 8083

 4.效果图

参考网址:

https://cloud.tencent.com/developer/article/1462776

https://cloud.tencent.com/developer/article/1047718

https://docs.microsoft.com/en-us/powershell/module/webadministration/?view=win10-ps

原文地址:https://www.cnblogs.com/Vincent-yuan/p/13951463.html