Asp.net 让Jenkins在部署时为新的GIT分支自动配置IIS应用程序
我已将Jenkins build作业设置为带有Asp.net 让Jenkins在部署时为新的GIT分支自动配置IIS应用程序,asp.net,iis,jenkins,jenkins-pipeline,Asp.net,Iis,Jenkins,Jenkins Pipeline,我已将Jenkins build作业设置为带有Jenkins文件的多分支管道项目。它会自动扫描git中要构建的分支,并将结果部署到IIS虚拟路径的子目录中。这对于前端代码非常有效 但是,对于.Net项目,有必要将每个目录配置为IIS中的“应用程序” 有没有办法让我的构建脚本自动创建“IIS应用程序”并为任何新发现的分支设置应用程序池?将以下内容添加到您的文件中: stage("Deploy web application") { steps { ... virtualPath = '
Jenkins文件的多分支管道项目。它会自动扫描git中要构建的分支,并将结果部署到IIS虚拟路径的子目录中。这对于前端代码非常有效
但是,对于.Net项目,有必要将每个目录配置为IIS中的“应用程序”
有没有办法让我的构建脚本自动创建“IIS应用程序”并为任何新发现的分支设置应用程序池?将以下内容添加到您的文件中:
stage("Deploy web application") {
steps {
...
virtualPath = '/myapp/' + env.BRANCH_NAME
physicalPath = 'C:\myapp\\'+env.BRANCH_NAME
addIisApplication('appName', 'appPoolName', virtualPath, physicalPath)
}
}
def addIisApplication(appName, appPoolName, virtualPath, physicalPath) {
iisAppCmd("add app /site.name:" + appName + " /path:" + virtualPath +" /physicalpath:"+physicalPath)
iisAppCmd("set app "+appName + virtualPath+" /applicationpool:" + appPoolName)
}
def iisAppCmd(args) {
bat 'C:\\Windows\\System32\\inetsrv\\appcmd.exe ' + args + " & exit 0" // ignore already exists error
}
如果需要在其他服务器上创建IIS应用程序,请通过调用appcmd.exe
现在,每当您创建一个新的功能分支并推送它时,Jenkins都可以将其构建并部署到您的IIS服务器上