我有一个Visual Studio 2013解决方案,其中包含完整的Orchard源代码。当我在Visual Studio中的“Orchard.Web”项目中使用“Publish ...”时,它正确地将站点发布到我已配置到我使用的.PubXml
文件中的文件系统目标。
但是,如果我使用Jenkins构建此站点,则不会将文件复制到目标。我已经创建了一个由Jenkins使用的单独的PubXml文件。
在我的詹金斯工作中,我有两个感兴趣的构建步骤。第一个使用src\Orchard.sln
文件,命令行参数为/p:Configuration=Release
。这样运行正确,并构建整个解决方案。
紧接着的第二个Build步骤使用src\Orchard.Web\Orchard.Web.csproj
的构建文件和这些命令行参数:
有了这个,构建和部署似乎工作 - 但没有。以下是构建输出中的一些行:
Copying all files to temporary location below for package/publish:
obj\Release\Package\PackageTmp.
Auto ConnectionString Transformed obj\Release\Package\PackageTmp\Shapes\Scripts\Web.config into obj\Release\CSAutoParameterize\transformed\Shapes\Scripts\Web.config.
(... about 200 more "Auto ConnectionString..." lines...)
Finished: SUCCESS
否则它实际上将文件复制到PUBXML文件中定义的目标位置。
相比之下,在Visual Studio中,输出看起来相似,但只转换了4个配置文件,并包含大量“发布文件夹x”行:
(...)
Transformed Modules\SH.GoogleAnalytics\web.config using ....
Copying all files to temporary location below for package/publish:
obj\Release\Package\PackageTmp.
Publishing folder /...
Publishing folder bin...
(etc.)
(我已在Jenkins服务器上安装了最新的Windows Azure SDK for .NET。)
答案 0 :(得分:0)
这有点旧,但实际上我只是设置了Orchard,可以通过命令行和MSBuild构建。这是我做的:
/p:VisualStudioVersion=12.0;PublishProfile =" example-profile&#34 ;; DeployProjA = true; FrameworkPathOverride =" C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ v4 0.5&#34 ;;配置=推出; PublishProfileRootFolder = C:\工作区\ SRC \ Orchard.Web \属性\ PublishProfiles;密码= ExamplePass
由于您使用的是Orchard,因此您需要确保只发布Orchard.Web项目,因此不要使用DeployOnBuild = true。这将尝试在解决方案中部署每个Web项目,对于乌节来说很重要。请遵循此处的指南,了解如何仅部署Web项目:http://sedodream.com/2013/03/06/HowToPublishOneWebProjectFromASolution.aspx
答案 1 :(得分:0)
我遇到同样的问题,这对我有用:
{{1}}
不要使用/ p:VisualStudioVersion = xxx