6

UPDATEこの質問は、これまでに与えられた回答に基づいて進化し、拡張されました。

(1)Orchard開発環境としてのVisual Studioと、(2)Azureにプッシュする手段としてのGITの2つが必要です。これを実現するために、Orchard.Webディストリビューションの代わりにOrchard.Sourceディストリビューションをダウンロードしました。

そこで、GITを使用して、ローカルマシンのリポジトリからAzure Webサイト(プレビューテクノロジ)にOrchard.Source.1.5.1ディストリビューションを公開しました。展開は機能しましたが、Azureでの後続のビルドは、ビルドする必要のある「1つ」のソリューションを判別できなかったため失敗しました。

リモート:ビルドするソリューションファイルを特定できません。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 。リモート:エラー-変更はリモートリポジトリにコミットされましたが、Webサイトは更新されていません。

そのダンプにリストされているAzureの最初のソリューションは、使用する必要があるソリューションです。それをAzureに伝えるにはどうすればよいですか?

David Ebboの助けを借りて、私は間違った質問をしていることを理解しました。

  1. この問題は、「。deployment」構成ファイルと
  2. 「正しい」VisualStuioソリューションを指すのは正しくありません。GITを介してAzureにデプロイするには、プロジェクトファイル(この場合はOrchard.Web.csproj)を指定する必要があります。

    [構成]
    プロジェクト=src/ Orchard.Web / Orchard.Web.csproj

これでさらに先に進みますが、次の問題は、GITリポジトリからOrchard.Sourceの「lib」フォルダーを意図的に省略したことです。間違って、Orchard.slnに対して「nugetrestore」を有効にすると、Azureでのプロジェクトファイルのビルドで必要な依存関係がフェッチされると考えました。

Sebastienの助けを借りて、Nugetを有効にすることは困難な戦いになる可能性があることを理解しました。これは、Orchardのサードパーティの依存関係の一部がOrchardチームによってソースレベルでカスタマイズされているためです。つまり、Orchard.Sourceディストリビューションを使用してすばやく起動して実行したい場合は、「lib」フォルダーをGITリポジトリーにコミットするだけです(ダーン!)。

GITを介してAzureに次のプッシュを行ったとき、コンパイルはまだ失敗しましたが、少なくともエラーの数は劇的に減少しました。私はそれが今動揺している唯一のものはこれだと思います:

For OrchardFramework.csproj:
   Could not find assemblies: Castle.Core, Casstle.DynamicProxy2
   Missing type or namespace: Castle, AbstractLoggerFactory, DefaultProxyBuilder

この問題を克服できれば、最終的に両方の長所を利用できる可能性があります。VisualStudio開発環境(Orchard.Sourceディストリビューションによる)とGIT対応のAzureへのプッシュです。この最後の問題が何であるかを誰かが知っていますか?

ps Orchard.Sourceディストリビューションには、「GITpushtoAzure」が作成される前に作成された「ClickToBuildAzurePackage.cmd」ファイルがあります。その小さなバッチファイルは、GITがAzureにプッシュすることで現在提供されている作業の多くを複製しようとします。そのオプションをさらに検討することもできますが、もちろん理想的な状況は、新しいAzureの組み込み機能に依存することです。

更新2:これは単に。lib/*/Castle Windsor 2.0/bin/*によって無視されているためです.gitignore。これらのファイルも強制的に追加したので、すべてがビルドおよびデプロイされます。現在の唯一の問題は、サイトにアクセスしても応答がないことです。必要に応じて、それを別の質問に変えます。現状では、この特定の質問に答えたと思います。

4

3 に答える 3

6

リポジトリのルートにある .deployment ファイルを使用して、デプロイするプロジェクトを指定できます。詳細については、 https://github.com/projectkudu/kudu/wiki/Customizing-deploymentsを参照してください。

また、Azure Web サイトで機能するオーチャード リポジトリの例については、https://github.com/AzureWebSites/OrchardCMSを参照してください (ただし、少し古くなっています)。

于 2012-10-01T18:18:44.047 に答える
5

Orchardは依存関係にNugetを使用していません。つまり、ライブラリはソース管理システムにチェックインされており、ソースごとにデプロイする場合はライブラリが必要です。

DavidHaydenによるGitPublishingを使用してWindowsAzureWebサイトにOrchardをインストールするための非常に優れたチュートリアルがあります:http ://www.davidhayden.me/blog/git-publishing-orchard-cms-to-windows-azure

于 2012-10-02T16:39:00.293 に答える
2

以下は、大まかな手順と一般的な落とし穴です。

高レベルの手順

  1. Orchard ソースをSomeDirectoryに複製する
  2. .deployment ファイルを SomeDirectory に追加します (例: PowerShell からni –t f .deployment) 。

チェックポイント: SomeDirectory には以下が含まれます。

.git
.deployment 
lib 
src 
.gitignore 
build.cmd 
ClickToBuild.cmd 
ClickToBuildAzurePackage.cmd 
CREDITS.txt 
DeleteModuleBinaries.cmd 
LICENSE.txt 
Orchard.proj
  1. 次に、SomeDirectory で開発者コマンド プロンプトを開きます。
  2. 実行しますbuild precompiled

チェックポイント: SomeDirectory には、さらに 2 つのサブディレクトリが含まれます。

build 
buildtasks
  1. 次に、.deployment ファイルを開きます...

...そして以下を追加します。

[config] 
project = build/precompiled
  1. ファイルを GitHub (または任意の場所) に追加、コミット、およびプッシュします。
  2. 新しい Windows Azure Web サイトを作成します。
  3. バージョン管理 > GitHub > などからデプロイを選択します。
  4. デプロイが完了するまで待ちます。
  5. テスト...

FTP 経由で Azure Web サイトを表示すると、次のように表示されます。

ftp

ブラウザからサイトを表示すると、次のように表示されます。

ウェブ

よくある落とし穴

  1. build/ ディレクトリを無視する .gitignore ファイルがある場合は、プリコンパイル済みフォルダーからすべてを強制的に追加するように git に要求する必要があります (App_Data と Media を除く。これらには Orchard UI から追加したライブのものが含まれるためです)。

例:

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).
  1. 新しいファイルを追加、削除、除外、または含めた後に .csproj ファイルを保存するのを忘れた場合、Git Deploy は特定のファイルが見つからないと文句を言います。
于 2014-11-13T20:28:42.730 に答える