-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Document suggested dev branch/testing methodology #970
Comments
@leomcelroy is this something we want to do? |
How would you recommend setting these up? |
@leomcelroy TBH I think it's fine to leave the "how" of this to the actual implementation, but my first thought is through the use of git tags and changing some of our current ways thing deploy. However we end up doing it, I think it is important for it to be well-documented as a runbook (that can, sooner or later, be scripted/automated for sure) such that anyone w/ proper perms can cut a build to staging/prod if needed. At the risk of going off-topic here, my opinion is that we would be in a better situation overall, shipping higher quality code, if we more carefully control how code reaches production. Having group understanding of when prod changes in any way is a good thing. Other things like having defined release schedules ("we ship (or attempt to) to prod on Wednesdays, not near the weekend"), testing processes, code reviews, etc also play in here. |
Where is the current deployment system articulated? |
AFAIK it isn't, and my current understanding is we auto-deploy to production when things are merged to main. PRs are also (if the PR's perms permit, I think) deployed on vercel using branch names...? If someone knows if and where this is documented I'd like to know... |
I find that system acceptable, except that it doesn't account for when tagged releases are made (which we are due now). |
@leomcelroy Sorry - which system? The current system of shipping code landed on main immediately to production, as it stands now, or the proposal? |
I find the current system fine. As in it provides continuous updates to main and a way to test dev branches. But agree it should be documented better and we need a tagged release system. Also open to some new approach though. It does seem to make more sense that a developers playground should be their own branches not main. |
@leomcelroy Okay - I am understanding your feedback here as the following, please correct me if I'm mistaken:
Do you have an issue with having a staging environment then, that could be used to test these tagged production candidate builds? This way we can always point testers to the same URL for testing, and have them do their work prior to prod deployment. |
Your summary is good and no issue with staging. |
Note - the scope of this issue has changed and its title has been updated. To whomever picks up this work, please limit work on this issue to adding documentation to the project on how developers can and should use their vercel branch deployments to their advantage, and also suggested best practices. |
I propose we have three different deployment environments.
One for development, which can get auto-deployed when code gets merged to main. A developer playground.
One for staging, which we can manually deploy to for a stable testing area.
One for production, which we can manually deploy to users in the real world.
The text was updated successfully, but these errors were encountered: