docs: update devdocs guidelines
This commit is contained in:
@ -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
|
||||
|
||||
...
|
||||
|
||||
|
Reference in New Issue
Block a user