Skip to content

Difference between deploy and release? #6301

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

Closed
jeengbe opened this issue Feb 14, 2023 · 5 comments
Closed

Difference between deploy and release? #6301

jeengbe opened this issue Feb 14, 2023 · 5 comments

Comments

@jeengbe
Copy link

jeengbe commented Feb 14, 2023

Core or SDK?

Core Sentry product

Which part? Which one?

n/a

Description

There are references to both deploys and releases all throughout the documentation.
On Release Management, we find: "You can also associate deploys with releases.". How does a deploy relate to a release?

Let's say, I use git flow:
image

I deploy the latest development to staging and main to production. When do I create releases/deploys in which pipeline?

Suggested Solution

I'd guess that releases are, as in the image above, versioned deployments of the project. v0.1, v0.2 etc. are releases. Deploys, in turn, are instances of that release in an environment; I have one deploy per release in production. Which other deploys would I have? The documentation mentions staging, that, however, using a completely different versioning scheme (commit sha). Would I have separate releases for production (vX.Y) and staging (sha) with each only a single deploy? If so, that separation of release/deploy seems unnecessary.

Is that separation a feature in which the main branch is deployed to different environments? Which scenarios would that be?

Thanks a lot for an answer in advance! :)

@getsantry
Copy link
Contributor

getsantry bot commented Feb 14, 2023

Assigning to @getsentry/support for routing, due by Wednesday, February 15th at 13:08 (yyz). ⏲️

@getsantry
Copy link
Contributor

getsantry bot commented Feb 14, 2023

Routing to @getsentry/visibility for triage, due by Thursday, February 16th at 14:41 (yyz). ⏲️

@mjq-sentry
Copy link

How does a deploy relate to a release?

When you create a deploy with sentry-cli:

sentry-cli releases deploys "$VERSION" new -e ENVIRONMENT

the $VERSION given is the version used to identify the release, and the deployment will then be associated with that release.

I'd guess that releases are, as in the image above, versioned deployments of the project. v0.1, v0.2 etc. are releases. Deploys, in turn, are instances of that release in an environment; I have one deploy per release in production. Which other deploys would I have? The documentation mentions staging, that, however, using a completely different versioning scheme (commit sha). Would I have separate releases for production (vX.Y) and staging (sha) with each only a single deploy? If so, that separation of release/deploy seems unnecessary.

This depends on your own workflow. Typically, using the same release identifier for staging and production is probably going to make things easier, since it lets you compare data in the two environments and validate a particular build before releasing it. That release identifier could be a commit SHA or version number, whichever is more comfortable for your workflow. (If it helps, internally we use commit SHAs for both staging and production.) As a result, releases and deploys typically have a one-to-many relationship. If your workflow calls for it it could be one-to-one and take an extra CLI call, but having that be two separate CLI commands gives us flexibility for the more typical case.

Hope that helps!

@jeengbe
Copy link
Author

jeengbe commented Feb 15, 2023

Hi @mjq-sentry,

that does explain it, thanks a lot for the extensive answer! :)

Maybe you can add a link to your answer somewhere in the docs, as it is exactly what I was looking for when I checked there.

@jeengbe jeengbe closed this as not planned Won't fix, can't repro, duplicate, stale Feb 15, 2023
@jeengbe
Copy link
Author

jeengbe commented Feb 17, 2023

Hey @mjq-sentry, coming back with another question:

What's the point of registering deploys, is there a way to link events to deploys by environment/tags? The only effect I can see thus far is the list of deploys in the release overview, and the projects overview page. Am I missing something?

@github-actions github-actions bot locked and limited conversation to collaborators Mar 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants