Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Guidance for release channels #69

Open
xavierdecoster opened this issue Jan 4, 2017 · 0 comments
Open

Guidance for release channels #69

xavierdecoster opened this issue Jan 4, 2017 · 0 comments

Comments

@xavierdecoster
Copy link
Member

People try to do the right thing using Semantic Versioning (semver.org) and applying Continuous Delivery practices. However, it's easy to get stuck without proper guidance, as MyGet is flexible enough to support multiple scenarios.

We should provide guidance on:

  • when to push upstream (e.g. publish to nuget.org)
  • how to set up various release channels by using multiple feeds
  • how to configure MyGet Build Services (convention-based, and scripted)

Example of a scenario we want to explicitly avoid with this guidance:
A package publisher is doing continuous delivery to a single feed for all branches. Following semver, the package publisher is applying proper prerelease tags (e.g. which include the branch name, or a quality label). However, this is not obvious for package consumers connecting to that single feed, as the client tools will not understand the publisher's intent. E.g.: when a package consumer wants to upgrade an already installed package 1.0.0-dev-20170401, and a package with version 1.0.0-issue42 is available on the feed, the client tools will see that package as an available upgrade whilst in reality you've just switched branches...

That's where release channels come into play, which can be set up by configuring e.g. a dev or integration feed, a nightly feed, and a production feed. Any of these can be on MyGet, or upstream. NuGet.org should be considered a production feed in all cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant