4

For one of my projects I am using many dependencies in the form of NuGet packages. When I change any of them, I need to recreate the package and deploy it every time. We currently have Jenkins setup as our task runner. I was wondering is there a way to automate the package creation and deployment as a nightly job for example.

4

3 回答 3

4

您可以创建一个新的 Jenkins 作业并添加一个 Windows 批处理步骤。在那里您可以使用以下命令:

C:\J\Nuget\NuGet_2.81.exe pack “%WORKSPACE%\PhantomTube\PhantomTube.Core\PhantomTube.Core.csproj” –IncludeReferencedProjects  –Version %MajorVersion%.%MinorVersion%.%PatchVersion%%PrereleaseString% -Properties Configuration=Release

您可以添加一些参数作为 JOB 的变量。

你可以在这里找到更详细的教程:http: //automatetheplanet.com/create-jenkins-job-creating-nuget-packages/

于 2015-05-08T12:27:45.797 回答
3

我已经使用 Jenkins 自动创建 Nuget 包:我们使用的方法是:可以从 nuspec 文件或项目文件创建 Nuget 包。在我们的例子中,我们使用 Nuspec 文件来自动创建 Nuget 包。我们遵循的策略是在我们的项目目录中找到所有 nuspec 文件并将 nuspec 文件名传递给命令 Nuget pack<<Your nuspec file name goes here>> 如果您喜欢这种方法,我可以分享我的命令。

代码 :

cls
@echo off

e:

cd << Directory path of your code >>

Setlocal EnableDelayedExpansion


rem automatic Packaging when a nuspec file is found

for /D /r %%A IN (*) do (

cd %%A

if exist *.nuspec (

echo ***************************************************************************************************

echo Located Nuspec file in Path : %%A


for /f %%B IN ('dir /a /b^|findstr /i "nuspec"') do set "res=%%B" & echo Found nuspec file : !res! & echo **************** & echo Packing using nuspec metadata & nuget pack !res!

)

)
于 2015-05-08T14:07:37.197 回答
2

您可以将目标添加到 MSBuild 并自动创建 nuget。 http://ihadthisideaonce.com/2014/02/24/nuget-like-a-pro-the-msbuild-way/

于 2015-05-08T07:10:32.270 回答