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.
问问题
10664 次
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 回答