Bre*_*ias 6 git azure orchardcms nuget azure-web-sites
根据迄今为止给出的答案,更新此问题已经发展并得到了扩展.
我想要两件事:(1)Visual Studio作为我的Orchard开发环境,(2)GIT作为我推送Azure的手段.为此,我下载了Orchard.Source发行版而不是Orchard.Web发行版.
因此,我使用GIT将Orchard.Source.1.5.1发行版从本地计算机上的存储库发布到Azure网站(预览技术).部署工作,但随后在Azure上的构建失败,因为它无法确定哪个解决方案应该构建它的"那个":
remote:无法确定要构建的解决方案文件.C:\ DWASFiles\Sites\MySite\VirtualDirectory0\site\repository\src\Orchard.sln,C:\ DWASFiles\Sites\MySite\VirtualDirectory0\site\repository\src\Orchard.Azure\Orchard.Azure.sln,C:\DWASFiles\Sites\MySite\VirtualDirectory0\site\repository\src\Orchard.Azure\Orchard.Azure.Web\Modules\Orchard.ContentTypes\Orchard.ContentTypes.sln,C:\ DWASFiles\Sites\MySite\VirtualDirectory0\site\repository\src\Orchard.Azure.Tests\Orchard.Azure.Tests.sln,C:\ DWASFiles\Sites\MySite\VirtualDirectory0\site\repository\src\Orchard.Web\Modules\Orchard.ContentTypes\Orchard.ContentTypes.sln .remote:错误 - 已提交到远程存储库的更改但您的网站未更新.
该转储中列出的第一个Azure解决方案是它应该使用的解决方案.我如何告诉Azure?
在David Ebbo的帮助下,我现在明白我在问错误的问题:
指向"正确"的Visual Stuio解决方案是不正确的!要通过GIT部署到Azure,我必须指向一个项目文件(在本例中为Orchard.Web.csproj):
[config]
project = src/Orchard.Web/Orchard.Web.csproj
这让我更进一步,但我的下一个问题是我故意从我的GIT存储库中省略了Orchard.Source的'lib'文件夹.我错误地认为,如果我为Orchard.sln启用了"nuget restore",Azure中项目文件的构建将获取所需的依赖项.
在Sebastien的帮助下,我现在明白启用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
Run Code Online (Sandbox Code Playgroud)
如果我能克服这个问题,我可能最终拥有两个世界中最好的东西:一个Visual Studio开发环境(由于Orchard.Source发行版)和一个支持GIT的Azure推送.任何人都知道最后一个问题可能是什么?
ps在Orchard.Source发行版中有一个"ClickToBuildAzurePackage.cmd"文件,该文件是在创建"GIT push to Azure"之前创建的.该小批量文件试图复制GIT推送到Azure现在提供的大部分工作.我可能会更多地探索该选项,但理想的情况当然是依赖于新的Azure内置功能.
更新2:事实证明这只是因为lib/*/Castle Windsor 2.0/bin/*被忽略了.gitignore.强制执行这些文件后,整个事情现在都在构建和部署!现在唯一的问题是我访问时网站没有给出回复.如有必要,我会把它变成一个单独的问题.我一直认为这个问题得到了回答.
您可以使用repo根目录下的.deployment文件指定要部署的项目.有关详细信息,请参阅https://github.com/projectkudu/kudu/wiki/Customizing-deployments.
另请参阅https://github.com/AzureWebSites/OrchardCMS,以获取在Azure网站中工作的Orchard存储库的示例(但它有点过时).
Orchard没有使用Nuget作为其依赖项,这意味着库已签入源控制系统,如果按源部署,则需要它们.
有关使用David Hayden的Git Publishing在Windows Azure网站上安装Orchard的非常好的教程:http://www.davidhayden.me/blog/git-publishing-orchard-cms-to-windows-azure
| 归档时间: |
|
| 查看次数: |
1884 次 |
| 最近记录: |