Gulp-octo + TeamCity: Best practices?

Hi all,

We have a WebAPI app and a separate Angular app (not based in .NET, no .sln file, etc.)

Our WebAPI app’s path in TeamCity is pretty standard: check-in --> build --> test --> run OctoPack --> TeamCity hosts the Nuget package.

I’m trying to understand if the same model applies to building the Angular app using gulp-octo. I am able to create the .tar.gz file locally with the correct files, but I’m wondering: do I push directly to Octopus in this case? Can I push it to TeamCity’s artifacts instead?

I was hoping to have a unified process (e.g. TeamCity holds the artifacts and Octopus pulls from TeamCity), but if the process needs to be different that’s fine. Any insight would be greatly appreciated; this is my first time using gulp-octo.

Alternatively, would the correct path be to run gulp-octo, but have the TeamCity release step push the package to Octo, rather than pushing to a packages area that octo pulls from? We could insert an additional step to pick up the outputted file and push it, I suppose.

Hi Sean,

Thanks for getting in touch. My recommendation would be to start pushing all of your packages to the Octopus Built-In Repository. This way you can consistently host all of your NuGet/zip/tar.gz packages in the same place, but better than that, Octopus will provide the most sensible retention policies for your packages.

In this case I would suggest:

  1. Change your WebAPI to … OctoPack -> Octopus: Push Packages (example)
  2. gulp-octo -> Octopus: Push Packages

(You could also do all of the build/packaging and a single Push Packages)

Hope that helps!