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

posted @ 2020-11-09 22:50  Vincent-yuan  阅读(635)  评论(0编辑  收藏  举报