How do I integrate NuGet into my Bamboo Build Plan?

Our build plans for Sitecore (.Net) websites are currently using Bamboo as the build plan master for continuous integration process. Bamboo supports building a .Net project, and that .Net project contains references to several Sitecore binaries.

I have used NuGet as an artifact repository, mostly because that seemed to be the one most people were using.

So, now that I have a nuget repository, am hosting my own feed, and have added the Nuget package to my project (I just installed the package of binaries I created), what more do I need to do?

Should the build call out something special, or am I done? I guess I'm just nervous that bamboo isn't talking directly to my repository....

In the closest analogy I have, namely a Maven/Archiva combo, the maven plan specifically references the artifacts in archiva, pulling the correct version as needed. Does NuGet do this?

Nuget 1.4+ supports "Package restore" which embeds a call to an MsBuild task in the project file. When the packages are not available it will automatically restore them while building the project.

How do I integrate NuGet into my Bamboo Build Plan?, Our build plans for Sitecore (.Net) websites are currently using Bamboo as the build plan master for continuous integration process. Bamboo supports building a � I would have to say that this would be completely dependant on your build tool of choice. Technically Bamboo doesn't support an Artifactory, Nexus, Archiva, or even a plain old maven repository. I think that the real question should be "is there a plugin that supports the use of build tools which use nuget" and the answer is yes.

Since there have been some new developments in the NuGet package restore approach, I thought I'd post an update on this topic. We're using Visual Studio 2012. I wanted to be able to run MSBuild and make sure that it would first restore NuGet packages without setting "Package restore" to true in the config. Here's what I did (inspired by https://stackoverflow.com/a/23935892/414376):

  1. Upgraded NuGet in my solution to a version later than 2.7 (2.8.3 in my case; this seems like an optional step)
  2. Installed NuGet.exe on the build server
  3. Added NuGet.exe to my remote agent so that it could be run as a command from Bamboo
  4. Added the NuGet command to my build plan with argument restore (so that the command will be nuget restore); I've placed it right before my MSV Build task.

That was all I needed to get this to work properly according to the latest guidelines.

Bamboo .NET Continuous Integration, That can be done by running nuget restore on the solution folder. Nuget. Actions > Configure Plan to add a Command task (in a previous post I� In your Bamboo plan, go in your jobs and add a new script task or command task to run once you have checkout your source code. In that script add the information mentioned in the link you provided. Do not forget to update the file paths to match your development context.

I'm sure this is old news, but my packages are in \packages. No amount of "dotnet restore" would work, until I explicitly mentioned the packages folder.

dotnet restore --packages .\packages

restored them!

VS2019. just in case it's version specific.

Getting started with .NET and Bamboo, A Bamboo plan is where you define the details of your continuous integration workflow. A plan allows us to specify a source� A key part of setting up your continuous integration build process is to specify the code repositories that Bamboo will work with. You can specify repositories at the following levels in Bamboo: global – repositories are available to all plans in Bamboo. plan – repositories are available to all jobs in the Bamboo plan.

Does Atlassian provide a tool to manage nuget pack, like to build C# software with bamboo, package the dll's into a nuget package nuget - command line documentation might also help you construct your plan� Bamboo Plugins Overview. A Bamboo plugin is a single JAR containing code, a plugin descriptor (XML) and usually some Freemarker template files to render HTML. The plugin descriptor is the only mandatory part of the plugin. It must be called atlassian-plugin.xml and be located in the root of your JAR file.

Integration with Bamboo - Execution, And also my build plan successfully run's but there are no NuGet packages is pushed to my octopus server under Library -> Packages. Thanks, Enter details for the new plan. Choose whether to enable this plan. Enabling the plan instructs Bamboo to start running builds of the plan, based on the plan's trigger configuration. When you click Create, the 'Plan Summary' page for the new plan will be displayed. Bamboo will automatically run an initial build for your new plan.

I was using Jenkins and had to do this, it was a simple build step before calling msbuild - Windows batch file was the build step type and: cmd.exe /c "C:\Program Files\nuget\nuget.exe" restore <RelativePathToSln>.sln - I did the path to SLN as a habit / procedure just in case it didn't find sln file.

Comments
  • Hi Pascal, a little late to make a comment to this one now that I am needing some help in getting nuget packages out on the build server. The build server has 2019 VS installed, and I have asked the administrator to install nuget.exe on the build server. Once he installs it, all I need to do is to create a command task that would run right before the MSBuild task, correct? I don't think I quite understood what you meants on adding a neget.exe to the remote agent. I believe when I create a command task, I see Nuget an option already...it could be this wasn't available in 2017 but now it is.
  • Hi @bladerunner. It's been quite a while since I've worked on this project. And I'm not with that organisation anymore. So I'm afraid I cannot help you any further other then saying that it is indeed very likely that things work a bit differently with the latest versions of the tools.
  • Hi @Pascal, not a problem. I was able to figure this out after working with somebody on the team. Thanks for the reply.