2014-05-02 16 views
6

Tôi muốn xuất bản các gói nuget từ FAKE. Nhưng tôi không sử dụng NuGet để tạo ra những gói đó. Tôi có OctoPack được cài đặt trong một số dự án và tôi đang chạy xây dựng với/p: RunOctoPack = True. Điều này bãi chứa các tập tin .nupkg trong thư mục bin. Làm cách nào để thu thập các gói đó và đẩy chúng vào máy chủ NuGet? Tôi không thể làm cho NuGetPublish và FileIncludes hoạt động cùng nhau.Xuất bản các gói bên ngoài

chỉnh sửa: cho bây giờ tôi đã làm việc xung quanh nó bằng cách sử ExecProcess

Target "Publish" (fun _ -> 
    let result = ExecProcess (fun info -> 
        info.FileName <- "MySolution/.nuget/NuGet.exe" 
        info.WorkingDirectory <- "MySolutionDirectory" 
        info.Arguments <- "push \"**/bin/**/*.nupkg\" -s http://my-nuget-server") TimeSpan.MaxValue 

    if result <> 0 then failwithf "NuGet.exe push returned with a non-zero exit code" 

)

Trả lời

1

Chúng tôi có một NuGet Publish task mà nên làm chính xác những gì bạn cần.

+0

tôi cá nhân khá mới đến toàn bộ sự việc này. Làm thế nào để chúng tôi sử dụng những gì bạn liên kết đến? IE: Nếu tôi đã có một nupkg, và tôi chỉ muốn xuất bản nó, làm thế nào để tôi làm như vậy? –

1

Như Steffen đã đề cập, bạn có thể sử dụng tác vụ NuGet Publish, nó được mô tả trong API nhưng không có hướng dẫn cho việc này.

mã kịch bản bạn có thể trông như thế này:

NuGetPublish (fun nugetParams -> 
    { nugetParams with 
     AccessKey = "nuget_api_key" 
     PublishUrl = "nuget_feed_url" 
     Project = "project_name" 
     Version = "project_version" 
     WorkingDir = "nupkg_file_location" 
    } 
) 

đâu:

  • Dự án - phần chính của bạn tên file nupkg (tức My.Super.Project)
  • Version - phần phiên bản của tên tệp nupkg của bạn (ví dụ: 0.0.10)
  • WorkingDir - vị trí của tệp nukpg của bạn

đầy đủ Tên tập tin nupkg rằng nhiệm vụ này sẽ được tìm kiếm là:

WorkingDir\Project.Version.nupkg

+0

Cảm ơn Alexey về ví dụ này! Tôi cũng phải gán giá trị cho OutputPath. Nếu không có điều này, Fake đã cố gắng lấy gói nuget từ thư mục. \ NuGet \ Project.Version.nupkg. Sau khi tôi đặt OutputPath nó hoạt động tốt – Nasser

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