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
Create a staging deployment environment #185
Comments
For the frontend, it seems like loading the production |
So there are 2 major forks of work: For (a), there is a clear path forward. The set of steps are as follows That should handle the frontend staging server. For (b), this is harder. I need someone to understand cloud functions and come up with a way to both figure out staging AND local development. It might be worth tapping external expertise. |
Could we graph out the current server architecture? Here's what I know so far from what I've picked up or hunted down on my own to get the "lay of the land":
Those are the major components I'm already aware of. Is there anything else not listed here? |
Sheets? 😂 |
Isn't the other way around a bit more natural? |
Happy to figure this out, I had a glimpse of how local can work and from there staging is just a hosted copy of that with a deploy mechanism wrapped around it. I'll plan to put some time in on this tonight. |
This is what I have my team doing. We have 4 pre-production environments and each one serves different purposes. In this case we probably only need just one, but that environment (known here as Git workflow: So this is where we dig into the git workflow. For example:
Local development: Then we should probably put some consideration into what is needed to facilitate segmentation (or isolation) for development purposes of the following:
Documentation: Also, we should dig into documenting:
What do you all think? |
Patrick's description of architecture is pretty much spot on. The design philosophy was to produce a 100% static site. We don't even use php for anything user facing. As for branching strategy, we can do whatever folks are comfortable with. What I've been used to is having master be volatile, staging be pushed to something like staging.findthemasks.com where one can examine potential issues with authorizations, cors, etc. on the live site, and then that's okay, merge to production for a final push. Totally willing to go another way though. However, the current hacked up deploy method doesn't really have a great way to create bunches of test sites per branch. Why do people want to deploy a development branch? Just to see it? As for docker, since this is designed as a static site, there's no binary dependency other than the firebase bits, which only 2-3 people touch anyways. I don't see a benefit to having folks download the image and deal with the various containerization kernel bugs that show up over various platforms. |
Just asking for a quick clarification, but:
Those are the Also, in that workflow, everything is the same (i.e. importantly, feature branches based on Does that sound about right so far? |
Though I spoke against master being volatile I have no serious opinion, happy to work in the system @patricknelson has proposed. |
p.s.
Yeah, it can get complicated if you don't already have it up and running (for me it's dead simple, e.g. steps 7 + 8 here) but some folks may have problems accessing shared files. I just like the ability to quickly consolidate everything you need with relatively little (or no) work given how self contained it is. The |
cc This thread for external visibility. It's possible we may have a Heroku pipeline to help with staging master + PR's, so more to come soon, thanks to @alex on that. |
I'm working on it now, doing the "debugging" part of it now.
…On Wed, Mar 25, 2020 at 8:46 PM Patrick Nelson ***@***.***> wrote:
cc This thread for external visibility. It's possible we may have a Heroku
pipeline to help with staging master + PR's, so more to come soon, thanks
to @alex <https://github.com/alex> on that.
------------------------------
[image: image]
<https://user-images.githubusercontent.com/4269377/77598885-421a0880-6ec0-11ea-9624-e434e1c1ce54.png>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#185 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAGBC644HYVMRKSPYDAXDRJKQVFANCNFSM4LS7G6MA>
.
--
All that is necessary for evil to succeed is for good people to do nothing.
|
Ok, should be set up now. All new/updated PRs will get one.
…On Wed, Mar 25, 2020 at 8:48 PM Alex Gaynor ***@***.***> wrote:
I'm working on it now, doing the "debugging" part of it now.
On Wed, Mar 25, 2020 at 8:46 PM Patrick Nelson ***@***.***>
wrote:
> cc This thread for external visibility. It's possible we may have a
> Heroku pipeline to help with staging master + PR's, so more to come soon,
> thanks to @alex <https://github.com/alex> on that.
> ------------------------------
>
> [image: image]
> <https://user-images.githubusercontent.com/4269377/77598885-421a0880-6ec0-11ea-9624-e434e1c1ce54.png>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#185 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAAAGBC644HYVMRKSPYDAXDRJKQVFANCNFSM4LS7G6MA>
> .
>
--
All that is necessary for evil to succeed is for good people to do nothing.
--
All that is necessary for evil to succeed is for good people to do nothing.
|
I think the PR apps have solved the immediate problem. Closing for now. Thanks for all the discussion everyone! |
Heroku FTW! Thanks @alex. |
To aid in the group development of the frontend and backend assets, we should create a staging environment that is discrete from production resources so we can test deploys of new versions without risking continuous access to the data we've already made available.
Related or perhaps alternatively, if we can document a pattern for a dev setting their own Google Sheet to play with, we may be able to defer the need here.
The text was updated successfully, but these errors were encountered: