我有一个Azure DevOps Pipeline,其中包含用于部署ASP.NET Core 3.1项目的Azure 应用服务部署任务 ( ) :AzureRmWebAppDeployment
- task: AzureRmWebAppDeployment@4\n inputs:\n ConnectionType: \'AzureRM\'\n azureSubscription: \'Azure Subscription(01234567-89ab-cdef-0123-456789abcdef)\'\n appType: \'webApp\'\n WebAppName: \'MyStagingSite\'\n packageForLinux: \'$(Build.ArtifactStagingDirectory)/**/*.zip\'\n enableCustomDeployment: true\n DeploymentType: \'webDeploy\'\n enableXmlTransform: false\n enableXmlVariableSubstitution: true\n RemoveAdditionalFilesFlag: false\nRun Code Online (Sandbox Code Playgroud)\n\n但是, Azure应用服务目标包含多个预先建立的文件夹中的文件,这些文件夹的管理独立于持续交付过程。我们想使用“删除目标位置的附加文件”标志(RemoveAdditionalFilesFlag ),同时保持这些文件夹完好无损。
\n\n\n免责声明:我不认为这是最佳实践,将来我们会将这些文件移至单独的存储位置。在那之前,我想找到一个能够解决这个问题的解决方案。
\n
在Visual Studio 2019MsDeploySkipRules中,我们通过使用文件中的以下内容从发布过程中排除这些文件来实现此目的csproj:
- task: AzureRmWebAppDeployment@4\n inputs:\n ConnectionType: \'AzureRM\'\n azureSubscription: \'Azure Subscription(01234567-89ab-cdef-0123-456789abcdef)\'\n appType: \'webApp\'\n WebAppName: \'MyStagingSite\'\n packageForLinux: \'$(Build.ArtifactStagingDirectory)/**/*.zip\'\n …Run Code Online (Sandbox Code Playgroud) continuous-integration webdeploy azure-deployment azure-web-app-service azure-pipelines
我一直在关注Xinyang Qiu的一篇非常有用的博客文章,gacAssembly内容是为我的Web Deploy网站清单添加元素.遗憾的是,gacAssembly提供程序似乎无法打包本地程序集(即不在GAC中的程序集)以部署到GAC.在打包时,我收到以下错误:
清单'sitemanifest'中的一个或多个条目无效.无法加载库"<完整路径>\<程序集>".给定的程序集名称或代码库无效.(HRESULT异常:0x80131047)
我认为它正在解释我作为装配名称的一部分提供的路径,这当然不是我的意思.
这有什么办法吗?是否可以将位于我本地目录中的程序集粘贴到Web Deploy程序包中以部署到服务器的GAC?
我使用webdeploy来部署我的网站项目,其中包含一段时间以来一直使用的parameters.xml文件.到目前为止,我添加的参数都是元素属性,并且一切运行良好.但我试图让xpath正确更新applicationSettings元素值(而不是属性),并且如果我的糟糕的xpath技能被归咎于或者对参数文件的工作方式有误解,那么我将失败.
当我进行部署时,该字段未更新,它在部署期间编译良好且没有错误\警告.我希望能够将其设置为True或False.
所以我有以下参数字段
<parameter name="ShowExceptionCallStackOnErrorView" description="Display a call stack on the UI Error view - true for debug only." defaultValue="False" tags="">
<parameterEntry kind="XmlFile" scope="\\web.config$" match="/configuration/applicationSettings/abc.123.Properties.Settings/setting[@name='ShowExceptionCallStackOnErrorView']/value" />
</parameter>
Run Code Online (Sandbox Code Playgroud)
尝试匹配以下应用程序设置部分
<configuration>
<applicationSettings>
<abc.123.Properties.Settings>
<setting name="ShowExceptionCallStackOnErrorView" serializeAs="String">
<value>True</value>
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激!
我正在使用msbuild(如Scott Hanselman在这里提到的)将我的网站部署到IIS,如下所示:
msbuild MySolution.sln /p:DeployOnBuild=true;PublishProfile=Production;Password=poo
Run Code Online (Sandbox Code Playgroud)
通过TeamCity发布到我的生产服务器或登台服务器的工作正常.
但是,如果某些文件已从项目中删除,则不会从服务器中删除它们.因此,应该产生404错误的一些事情只是拾取旧的,过时的文件.
是否有可能以这种方式进行部署还删除不再属于Web项目的文件?
我有一个专用服务器,我正在尝试使用以管理员身份运行的Web平台安装程序来安装MS Web Deploy 3.
它无法安装消息:
We're sorry. The following products have failed to install.
**Web Deploy 3.0 - July 2012**
This product did not install successfully: Service 'Web Management Service' (WMSvc)
failed to start.
Verify that you have sufficient privileges to start system services.
Run Code Online (Sandbox Code Playgroud)
我尝试使用"以管理员身份运行"运行安装程序,但每次都会出现此错误.有没有人知道我如何验证或解决这个问题?
谢谢!对不起任何noobness抱歉!
我遇到了让Jenkins正确使用MSBuild并将我构建的网站部署到Web服务器的问题.
到目前为止,我已在Visual Studio 2012中创建了该网站,并使用该向导创建了一个发布配置文件,该配置文件将成功发布到我的Web服务器.然后我在同一台PC上使用命令行版本的MSBuild来测试命令行参数是否正常工作......他们这样做了!从那时起,我在Jenkins中为MSBuild添加了一个构建步骤,指向同一个.sln文件并使用相同的参数但由于某种原因它没有按预期进行Web部署,它只是创建一个zip文件.我看不到任何告诉它它应该像这样打包它并且有点疯狂的东西.
VS创建(我正在使用)的发布配置文件如下:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<ExcludeApp_Data>False</ExcludeApp_Data>
<MSDeployServiceURL>http://10.215.134.184/msdeployagentservice</MSDeployServiceURL>
<DeployIisAppPath>Default Web Site/mvcCPE</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
<EnableMSDeployBackup>False</EnableMSDeployBackup>
<UserName>Administrator</UserName>
<_SavePWD>True</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="DefaultConnection" Order="1" Enabled="False">
<Destination Path="" />
<Object Type="DbDacFx">
<PreSource Path="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-mvcCPE-20130228154150;Integrated Security=True" includeData="False" />
<Source Path="$(IntermediateOutputPath)AutoScripts\DefaultConnection_IncrementalSchemaOnly.dacpac" dacpacAction="Deploy" />
</Object>
<UpdateFrom Type="Web.Config">
<Source MatchValue="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-mvcCPE-20130228154150;Integrated Security=SSPI" MatchAttributes="$(UpdateFromConnectionStringAttributes)" />
</UpdateFrom>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
</PropertyGroup>
<ItemGroup>
<MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
在命令行上,我使用以下命令:
msbuild mvcCPE.sln /property:Configuration=Release /property:DeployOnBuild=True /property:PublishProfile=mvcCPE.pubxml /property:Password=xxxxxx …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了VS 2013,从VS 2010升级.创建一个曾经在2010年工作的Web部署包zip文件.使用VS 2013的Publish Web功能发布到Web Deploy Package,我收到以下错误:
Web部署任务失败.(无法创建类型'manifest'和路径'D:\ dev\DMWeb\DMWebClient\obj\Test\Package\DMWebClient.SourceManifest.xml'的对象.有关详细信息,请访问:http: //go.microsoft.com/fwlink /?LinkId = 221672#ERROR_EXCEPTION_WHILE_CREATING_OBJECT.)
"Web发布活动"选项卡中的详细信息显示以下内容:
使用D:\ dev\DMWeb\DMWebClient\Web.Test.config将Web.config转换为obj\Test\TransformWebConfig\transformed\Web.config.Auto ConnectionString将Views\Web.config转换为obj\Test\CSAutoParameterize\transformed\Views\Web.config.Auto ConnectionString将obj\Test\TransformWebConfig\transformed\Web.config转换为obj\Test\CSAutoParameterize\transformed\Web.config.
将所有文件复制到下面的临时位置以进行包/发布:obj\Test\Package\PackageTmp.
打包到D:\ dev\DMWeb\DMWebClient\obj\Test\Package\DMWebClient.zip.
C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(3883,5):
错误ERROR_EXCEPTION_WHILE_CREATING_OBJECT:Web部署任务失败.(无法创建类型'manifest'和路径'D:\ dev\DMWeb\DMWebClient\obj\Test\Package\DMWebClient.SourceManifest.xml'的对象.
有关详情,请访问:http: //go.microsoft.com/fwlink/?LinkId = 221672 #ERROR_EXCEPTION_WHILE_CREATING_OBJECT.)
包裹失败.
在VS 2010中,我不得不以管理员的身份运行它来部署工作,我也在这里这样做.我还尝试将项目文件夹的完全控制权限授予NETWORK SERVICE,LOCAL SERVICE,Authenticated Users和我.
在Package文件夹中,有PackageTmp文件夹(看起来不错),以及DMWebClient.SourceManifest.xml文件,就是这样.在VS 2010中,那里有更多文件.
DMWebClient.SourceManifest.xml包含:
<?xml version="1.0" encoding="utf-8"?>
<sitemanifest>
<IisApp path="D:\dev\DMWeb\DMWebClient\obj\Test\Package\PackageTmp" />
<setAcl path="D:\dev\DMWeb\DMWebClient\obj\Test\Package\PackageTmp" setAclResourceType="Directory" />
<setAcl path="D:\dev\DMWeb\DMWebClient\obj\Test\Package\PackageTmp" setAclUser="anonymousAuthenticationUser" setAclResourceType="Directory" />
<setAcl path="D:\dev\DMWeb\DMWebClient\obj\Test\Package\PackageTmp\App_Data" setAclResourceType="Directory" setAclAccess="Write" />
<setAcl path="D:\dev\DMWeb\DMWebClient\obj\Test\Package\PackageTmp/DMWeb.config" setAclResourceType="File" setAclAccess="Read,Write" /> …Run Code Online (Sandbox Code Playgroud) 只是在企业应用程序中寻找对当前使用InRelease进行部署方案的任何人的反馈?
InRelease最近被微软收购,目前正在试用 http://www.microsoft.com/visualstudio/inrelease/ 据我所知,这将集成在未来版本的TFS中.
我一直在试用它一段时间,并有兴趣听取任何现有客户的反馈,无论是积极的还是消极的,包括以下信息:使用这个v的webdeploy/powershell等的优点/缺点.产品的稳定性.等等..
我正在使用 VS2015 Update 1 尝试一键发布 aspnet 5 vNext MVC 站点。我要发布到的服务器没有真正的证书,因此我收到错误消息:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(386,5):错误:错误代码:ERROR_CERTIFICATE_VALIDATION_FAILED
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(386,5):错误:更多信息:使用指定的进程(“Web 管理服务”),但无法验证服务器的证书。如果您信任服务器,请再次连接并允许不受信任的证书。了解更多信息:http : //go.microsoft.com/fwlink/?LinkId=221672#ERROR_CERTIFICATE_VALIDATION_FAILED。
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(386,5):错误:错误:底层连接已关闭:无法建立信任关系SSL/TLS 安全通道。
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(386,5):错误:错误:根据验证程序,远程证书无效。
根据(相当旧的)链接,我发现我可以通过手动运行 msbuild 命令并传递-allowUntrusted开关轻松地使其工作。但是,我找不到 UI 对话框设置、中的 XML 标记*.pubxml,也*publish.ps1无法在文件中找到使此行为在 Visual Studio 中起作用的好地方。
如何让一键发布忽略我服务器的无效证书?
msbuild oneclick one-click-web-publishing webdeploy visual-studio-2015
过去,我曾采用过这样一种策略,即后端开发人员在VisualStudio中工作,而我们的UI伙计则完全在Sublime / VSCode等工作。 app.js逻辑),然后将该前端内容包含到WebDeploy的后端程序包中。
我正在尝试在dotnet core 2.0项目中复制此代码,但是从未调用过构建前端的发布目标调用(即,您从未看到echo命令的内容,也没有npm install / build运行)...所以没有除非我以前手动运行过构建过程以从VSCode生成资源,并且发布资源已经存在于磁盘上,否则发布时将包括UI资源。就是 UI生成文件的复制效果很好(如果存在)...但VS2017从未调用npm命令来构建资源?
稍作改动,这在几个.NET 4.6+项目中都很好用。我刚刚将完全相同的逻辑复制到了Core 2.0项目中,由于某种原因,它没有按我期望的方式工作?有任何想法吗?
例如,我的ProjectDeploy.pubxml文件包含(在最后关闭的“ Project”标记之前的底部):
<!--
make sure that we BUILD the UI *before* we copy the files to the package
See: http://byalexblog.net/using-msbuild-to-deploy-composite-web-application
See: http://www.codecadwallader.com/2015/03/15/integrating-gulp-into-your-tfs-builds-and-web-deploy/
-->
<PropertyGroup>
<!-- relative path back out of 'current' folder to outside location of the UI files -->
<FrontEndLocalPath>..\..\src-app</FrontEndLocalPath>
</PropertyGroup>
<!--
Build the mobile web app assets , ensuring that all packages are installed and up to date
-->
<Target Name="BuildFrontEnd">
<Exec Command="echo Got …Run Code Online (Sandbox Code Playgroud)