2014-07-23 14 views
6

Tôi có giải pháp Visual Studio 2013 với mã nguồn đầy đủ của Orchard. Khi tôi sử dụng "Xuất bản ..." trên dự án "Orchard.Web" trong Visual Studio, nó sẽ xuất bản chính xác trang web đến đích Hệ thống tệp mà tôi đã định cấu hình vào tệp .PubXml mà tôi đã sử dụng.MSBuild không sao chép tệp bằng PublishProfile

Tuy nhiên, nếu tôi xây dựng trang web này bằng cách sử dụng Jenkins, các tệp sẽ không được sao chép vào đích. Tôi đã tạo một tệp PubXml riêng biệt được sử dụng bởi Jenkins.

Trong công việc Jenkins của tôi, tôi có hai bước xây dựng quan tâm. Đầu tiên sử dụng tệp src\Orchard.sln với đối số dòng lệnh là /p:Configuration=Release. Điều này chạy đúng và xây dựng toàn bộ giải pháp.

Bước xây dựng thứ hai, ngay sau đó, sử dụng File xây dựng của src\Orchard.Web\Orchard.Web.csproj và các đối số dòng lệnh:

  • /p: DeployOnBuild = true
  • /p: PublishProfile = "D: \ workspace \ site \ trunk \ src \ Orchard.Web \ Thuộc tính \ PublishProfiles \ Jenkins.pubxml"
  • /p:VisualStudioVersion=12.0
  • /p: Cấu hình = Thả
  • /p: nền tảng = AnyCPU
  • 012.
  • /v: tối thiểu
  • /nologo
  • /p: WarningLevel = 1

Với điều này, việc xây dựng và triển khai dường như làm việc - nhưng không. Dưới đây là một số dòng từ đầu ra xây dựng:

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 

Không thực sự sao chép tệp đến đích được xác định trong tệp PUBXML.

Ngược lại, trong Visual Studio, đầu ra trông tương tự, nhưng biến đổi chỉ có 4 tập tin cấu hình và bao gồm rất nhiều "xuất bản thư mục x" dòng:

(...) 
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.) 

(Tôi đã cài đặt mới nhất của Windows Azure SDK cho .NET trên máy chủ Jenkins.)

Trả lời

0

Tôi có những rắc rối tương tự, rằng công việc cho tôi:

/t:Rebuild 
/p:DeployOnBuild=true 
/p:PublishProfile=Jenkins_Publish 
/p:Configuration=Release 

không sử dụng/p: VisualStudioVersion = xxx

0

Đây là loại cũ, nhưng tôi thực sự chỉ thiết lập Orchard để có thể được xây dựng thông qua dòng lệnh và MSBuild. Đây là những gì tôi đã làm:

/p:VisualStudioVersion=12.0;PublishProfile="example-profile";DeployProjA=true;FrameworkPathOverride="C:\Chương trình Tệp (x86) \ Tham chiếu Tập hợp \ Microsoft \ Framework \ v4. 5 "; Configuration = Release; PublishProfileRootFolder = c: \ Workspace \ src \ Orchard.Web \ Properties \ PublishProfiles; Mật khẩu = ExamplePass

Vì bạn đang sử dụng Orchard bạn muốn đảm bảo rằng chỉ có dự án Orchard.Web được xuất bản do đó không sử dụng DeployOnBuild = true. Điều này sẽ cố gắng triển khai mọi dự án web trong giải pháp, rất nhiều cho Orchard.Thay vào đó làm theo các hướng dẫn vào đây để xem làm thế nào để triển khai chỉ các dự án web: http://sedodream.com/2013/03/06/HowToPublishOneWebProjectFromASolution.aspx

Các vấn đề liên quan