如何使用Jenkins自动创建NuGet包?

时间:2015-05-08 06:59:25

标签: jenkins automation package nuget nightly-build

对于我的一个项目,我使用NuGet包形式的许多依赖项。当我更改其中任何一个时,我需要重新创建包并每次部署它。我们目前将Jenkins设置为我们的任务选手。我想知道有没有办法将软件包创建和部署自动化为夜间工作。

3 个答案:

答案 0 :(得分: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/

答案 1 :(得分: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!

)

)

答案 2 :(得分:2)

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