docs: update devdocs guidelines

This commit is contained in:
mrugesh
2019-11-04 23:01:18 +05:30
committed by GitHub
parent af71ad2f36
commit bd1e1e7e73

View File

@ -148,18 +148,27 @@ And that's it, this will automatically trigger a build on the build pipeline for
Here are some additional steps that need to be followed by a freeCodeCamp.org Staff developer. To prevent any accidental pushes we have a couple of manual approval steps configured on the pipelines.
Once a build artifact is ready on the `production-current` branch, it will trigger a release on the release pipeline. Next, freeCodeCamp.org developer staff team will receive an email. They can either *approve* or *reject* the release. Approval or rejection depends, if changes were nicely working and tested on the staging application. Each approval lasts only for 4 hours to avoid queuing up. Post the limit it gets auto rejected, wherein a staff will re-trigger the release pipeline manually.
Once a build artifact is ready on the `production-current` branch, it will trigger a release on the release pipeline.
Next, freeCodeCamp.org developer staff team will receive an email. They can either *approve* or *reject* the release. Approval or rejection depends, if changes were nicely working and tested on the staging application. Each approval lasts only for 4 hours to avoid queuing up. Post the limit it gets auto rejected, wherein a staff will re-trigger the release pipeline manually.
For staff use:
| Approve Release | Publish or Rollback on Netlify |
| :-------------: | :----------------------------: |
| Check your email for a direct link or [Open release dashboard](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_release?_a=releases&view=mine&definitionId=6) | [Open Netlify deployments](https://app.netlify.com/sites/freecodecamp-org/deploys) |
| Approve Release |
| :-------------: |
| Check your email for a direct link or [Open release dashboard](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_release?_a=releases&view=mine&definitionId=6) |
Once one of the members approves a release, the pipeline will push the changes live to freeCodeCamp.org's production CDN and API servers. They typically take ~15-20 mins for the client, and ~5 mins for the API servers to be available live.
As a final step, a staff member will also manually click the publish deploy button on Netlify's deployment's dashboard.
For staff use:
| Publish or Rollback on Netlify |
| :----------------------------: |
| [Open Netlify deployments](https://app.netlify.com/sites/freecodecamp-org/deploys) |
## Build and Deployment Status
Here is the current build and deployment status of the codebase.
@ -227,52 +236,3 @@ There will be some known limitations and tradeoffs when using the beta version o
Please open fresh issues for discussions and reporting bugs. You can label them as **[`release: next/beta`](https://github.com/freeCodeCamp/freeCodeCamp/labels/release%3A%20next%2Fbeta)** for triage.
You may send an email to `dev@freecodecamp.org` if you have any queries. As always all security vulnerabilities should be reported to `security@freecodecamp.org` instead of the public tracker and forum.
---
## Additional workflows for freeCodeCamp.org Staff [WIP]
### Provisioning VMs with API Code and starting up services
1. Install Node LTS.
2. Update `npm` and install PM2 and setup logrotate and startup on boot
```
npm i -g npm
npm i -g pm2
pm2 install pm2-logrotate
pm2 startup
```
3. Clone freeCodeCamp, setup env and keys, install dependencies, and make first build.
```
npm run ensure-env && npm run build:server
```
4. Start Instances
```
cd api-server
pm2 start production-start.js -i max --max-memory-restart 600M --name org
```
5. Logging, Monitoring and Reloading on updates to code changes
```
pm2 logs
```
```
pm2 monitor
```
```
pm2 reload all --update-env && pm2 logs
```
### Configuring NGINX and DNS for the API VMs
...