更新这个问题已经发展并根据目前给出的答案进行了扩展。
我想要两件事:(1)Visual Studio作为我的Orchard开发环境,(2)GIT作为推送Azure的手段。为此,我下载了Orchard.Source发行版而不是Orchard.Web发行版。
因此,我使用GIT将Orchard.Source.1.5.1发行版从本地计算机上的存储库发布到Azure网站(预览技术)。部署工作正常,但随后在Azure上的构建失败,因为它无法确定哪个解决方案应该是“应该构建的”:
remote:无法确定要构建的解决方案文件。 C:\ DWASFiles \网站\ mysite的\ VirtualDirectory0 \网站\库的\ src \ Orchard.sln, C:\ DWASFiles \网站\ mysite的\ VirtualDirectory0 \网站\库的\ src \ Orchard.Azure \ Orchard.Azure.sln, C:\ DWASFiles \网站\ mysite的\ VirtualDirectory0 \网站\库的\ src \ Orchard.Azure \ Orchard.Azure.Web \模块\ Orchard.ContentTypes \ Orchard.ContentTypes.sln, C:\ DWASFiles \网站\ mysite的\ VirtualDirectory0 \网站\库的\ src \ Orchard.Azure.Tests \ Orchard.Azure.Tests.sln, C:\ DWASFiles \网站\ mysite的\ VirtualDirectory0 \网站\库的\ src \ Orchard.Web \模块\ Orchard.ContentTypes \ Orchard.ContentTypes.sln。 remote:错误 - 提交到远程存储库的更改但您的网站未更新。
该转储中列出的第一个Azure解决方案是它应该使用的解决方案。我如何告诉Azure?
在David Ebbo的帮助下,我现在明白我在问错误的问题:
指向“正确”的Visual Stuio解决方案不正确!要通过GIT部署到Azure,我必须指向一个项目文件(在本例中为Orchard.Web.csproj):
[配置]
project = src / Orchard.Web / Orchard.Web.csproj
这让我更进一步,但我的下一个问题是我故意从我的GIT存储库中省略了Orchard.Source的'lib'文件夹。我错误地认为,如果我为Orchard.sln启用了“nuget restore”,那么Azure中项目文件的构建将获取所需的依赖项。
在塞巴斯蒂安的帮助下,我现在明白启用nuget可能是一场艰苦的战斗,因为一些Orchard第三方依赖项已经由Orchard团队进行了源级自定义。简而言之,如果我想使用Orchard.Source发行版快速启动并运行 - 那么我只需将'lib'文件夹提交到我的GIT存储库(darn!)。
当我通过GIT进行下一次Azure推送时,我的编译仍然失败 - 但至少错误的数量大大减少了。我认为现在唯一令人不安的是:
For OrchardFramework.csproj:
Could not find assemblies: Castle.Core, Casstle.DynamicProxy2
Missing type or namespace: Castle, AbstractLoggerFactory, DefaultProxyBuilder
如果我能克服这个问题,我可能最终拥有两全其美:Visual Studio开发环境(由于Orchard.Source发行版)和支持GIT的Azure推送。有谁知道最后一个问题可能是什么?
P.S。 Orchard.Source发行版中有一个“ClickToBuildAzurePackage.cmd”文件,该文件是在创建“GIT push to Azure”之前创建的。该小批量文件试图复制GIT推送到Azure现在提供的大部分工作。我可以更多地探索这个选项,但当然理想的情况是依赖于新的Azure内置功能。</ p>
更新2 :事实证明这只是因为lib/*/Castle Windsor 2.0/bin/*
忽略了.gitignore
。强制执行这些文件后,整个事情现在都在构建和部署!现在唯一的问题是我访问时网站没有给出回复。如有必要,我会把它变成一个单独的问题。我一直认为这个问题得到了回答。
答案 0 :(得分:6)
您可以使用repo根目录下的.deployment文件指定要部署的项目。有关详细信息,请参阅https://github.com/projectkudu/kudu/wiki/Customizing-deployments。
另外,请参阅https://github.com/AzureWebSites/OrchardCMS以获取在Azure网站中工作的Orchard存储库的示例(但它有点过时)。
答案 1 :(得分:5)
Orchard没有使用Nuget作为其依赖项,这意味着库已签入源代码管理系统,如果按源部署,则需要它们。
使用David Hayden的Git Publishing在Windows Azure网站上安装Orchard有一个非常好的教程:http://www.davidhayden.me/blog/git-publishing-orchard-cms-to-windows-azure
答案 2 :(得分:2)
以下是我们的高级步骤和常见问题。
ni –t f .deployment
)检查点:SomeDirectory现在将包含:
.git
.deployment
lib
src
.gitignore
build.cmd
ClickToBuild.cmd
ClickToBuildAzurePackage.cmd
CREDITS.txt
DeleteModuleBinaries.cmd
LICENSE.txt
Orchard.proj
build precompiled
。 检查点:SomeDirectory现在还包含两个子目录:
build
buildtasks
...并添加以下内容:
[config]
project = build/precompiled
通过FTP查看Azure网站将显示以下内容:
通过浏览器查看您的网站将显示:
示例:
git add –-f bin/*
git add –-f Config/*
git add –-f Core/*
git add –-f Modules/*
git add –-f Themes/*
git add –-f CREDITS.txt
git add –-f Global.asax
git add –-f LICENSE.txt
git add –-f Refresh.html
git add –-f Web.config
(Yes. Git is case sensitive).