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

As a developer, I would like to know how to deploy the production app #471

Closed
gsehrlich opened this issue May 20, 2022 · 11 comments
Closed
Labels
component: documentation Information about how to use the project codebase issue type: enhancement New feature or request

Comments

@gsehrlich
Copy link
Collaborator

gsehrlich commented May 20, 2022

Is your feature request related to a problem? Please describe.
We have an up-to-date video walkthrough in the team drive, but the written instructions in .github/deployment.md are out of date.

Describe the solution you'd like
Update deployment.md with step-by-step instructions for deploying the develop branch to the live server as described in the video.

Resource
Here's a link to the video walkthrough.

@gsehrlich gsehrlich added issue type: enhancement New feature or request component: documentation Information about how to use the project codebase labels May 20, 2022
@theecrit
Copy link
Collaborator

@gsehrlich Can you drop the link to the video here, too?

@gsehrlich
Copy link
Collaborator Author

Good idea! Just updated the OP.

@Temidayo32
Copy link
Contributor

Temidayo32 commented Jun 3, 2022

Hi, I am new here, I would like to know what I need to do to solve this issue.

From the issue, I can tell the developer is making a documentation request for a "how-to" guide on how to deploy the production app.

However, I am a little confused. @gsehrlich commented a solution of updating the out of date documentation with step by step instructions for deploying the develop branch.

But the issue talks about how to deploy the production app. Is it the same thing with "how to deploy to develop branch"?

Thank you

@theecrit
Copy link
Collaborator

theecrit commented Jun 3, 2022

Hi @Knowledgeissweet, thanks very much for looking into this! I believe the specific process we're trying to capture in documention is explained in the video linked in the issue. Watching the video and documenting the steps explained there may be the easiest way forward.

For context, we currently push all new changes to the develop branch. When we're ready to release those changes to the live website at woaq.org I believe we then have to merge develop into another branch that's used for the "production" version on the live server. Those details should be explained in the video.

@Temidayo32
Copy link
Contributor

Temidayo32 commented Jun 3, 2022

Thanks @theecrit for the response. I will check out the video and work on the documentation. Thanks

@gsehrlich
Copy link
Collaborator Author

@Knowledgeissweet Glad to hear you're interested! Sorry about the unclear issue description; what @theecrit said is right. Individual contributors' pull requests are first merged into develop, which is the repository's default branch. The changes merged to develop can be tested together before deployment.

Each time we want to deploy recent changes into production at woaq.org, we start by merging develop into another protected branch called main. Then we pull main to the woaq.org server and use it to build and serve the production version of the app, which is faster than the development version but difficult to debug.

The video has the rest of the details. Feel free to let me know if there's anything else I can help clarify!

@Temidayo32
Copy link
Contributor

Temidayo32 commented Jun 6, 2022

@gsehrlich @theecrit Actually, this is going to be my first open source contribution so I am having a little bit of some friction. Okay, I have watched the video. So this is the only changes I can suggest to the documentation currently.

From the documentation, under the "workflow for changing and deploying WOAQ" section, the only change I can spot to be done is to the Step 7 & 8

Step 7 currently says : Once changes have accumulated and stabilized on develop, there will be a PR to place cumulative changes onto livewire

My own modification: Once changes have accumulated and stabilized on develop, there will be a PR to place cumulative changes onto main branch

Another step (new step 8): Cumulative changes pushed to main branch will consequently be deployed to DigitalOcean.

Current Step 8: Once on Livewire the changes will be available for live use.

Now Step 9: Once on DigitalOcean, the changes will be available for live use.
.
Some confusion to clear

Is Livewire what I think it is? By this I mean, is it a live server similar to DigitalOcean? If yes, is it a live server for deployment but no longer in use by WOAQ?

The contributor that spoke in the video talked about Netlify. Netlify isn't currently used for a deployment, right?

So let me know if I am going in the right direction as regards the contribution to be made to the documentation (I seriously don't know if that's the update needed. That what I can think from the video).

Thanks so much once again.

If this is the right update, I will promptly place these changes in my forked branch and make a pull request.

@gsehrlich
Copy link
Collaborator Author

Thanks for taking a look at the video and suggesting the edits, and welcome to your first open-source project! It's great that you're taking this on because you'll notice details that people with more experience might gloss over. For a first contribution, it has some challenges though.

Your changes so far look great to me. Regarding your questions:

  • I'm honestly not entirely sure what Livewire refers to, other than a Docker configuration. We're using the main branch now, as you said.
  • We're not currently hosting the live site using Netlify. However, Github will run Netlify's checks when someone opens a PR to merge develop into main, as you saw in the video.

General suggestions:

  • The repo's main README has the information for installing and making changes locally, so I think what we want in this file is just the information about deployment. That would mean keeping your new steps 7–9 (maybe with some context beforehand) and letting the existing README take care of the rest.
  • I think there's a bit more detail in the video about what to do inside the DigitalOcean droplet console to get the new changes built and served, which we should include after step 9. Do you want to give that a shot?

I can make any other suggestions in the pull request after you've opened it.

I'd be happy to orient you via video call if you'd like. In case you're not in Open Oakland Slack workspace, here's a link to the website's contact page with a link to join. https://openoakland.org/contact/

@Temidayo32
Copy link
Contributor

" I think there's a bit more detail in the video about what to do inside the DigitalOcean droplet console to get the new changes built and served, which we should include after step 9. Do you want to give that a shot?"

Exactly, there was information of what do inside Digital Ocean droplet console, but I couldn't follow, due to a reason: the contributor blurred the DigitalOcean Interface due to the display of some sensitive information (like IP address).

Even some sections of the console while the contributor was executing some commands were blurred. So this made it difficult for me assembling the information into something cohesive (I couldn't understand and grasp the process) and consequently, communicate.

@Temidayo32
Copy link
Contributor

Temidayo32 commented Jun 7, 2022

And absolutely, a video call will be the best help. Thanks so much for that. I really appreciate.

I have joined Openoakland group

@gsehrlich
Copy link
Collaborator Author

Even some sections of the console while the contributor was executing some commands were blurred. So this made it difficult for me assembling the information into something cohesive (I couldn't understand and grasp the process) and consequently, communicate.

Whoops, sorry about that. That was me that did the blurring. I tried to keep the active command line visible, but maybe I didn't do a good job of that. I'm happy to fill in whatever details you're not sure about.

Welcome to the group! I'll reach out to you there to schedule a call.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: documentation Information about how to use the project codebase issue type: enhancement New feature or request
Projects
P2a: Post-MVP Enhancements
  
Awaiting triage
Development

No branches or pull requests

3 participants