From 2955bbeb4f11471a1f11a88429836401d12330b3 Mon Sep 17 00:00:00 2001 From: mrugesh <1884376+raisedadead@users.noreply.github.com> Date: Wed, 9 Oct 2019 06:31:29 -0700 Subject: [PATCH] docs(devops): improve verbiage and instructions (#37147) --- docs/devops.md | 90 ++++++++++++++++++---------- docs/images/devops/travis-build.png | Bin 0 -> 66677 bytes 2 files changed, 60 insertions(+), 30 deletions(-) create mode 100644 docs/images/devops/travis-build.png diff --git a/docs/devops.md b/docs/devops.md index 544a22d712..37b18e38ed 100644 --- a/docs/devops.md +++ b/docs/devops.md @@ -9,7 +9,7 @@ # Developer Operations at freeCodeCamp.org -Thanks for your interest in learning more about how we do devops for the platform at freeCodeCamp.org. +Thanks for your interest in learning more about how we do DevOps for the platform at freeCodeCamp.org. We have tried to keep the language in this guide as simple as possible for everyone. However, you may find some technical jargon in here. This is not an exhaustive guide for all operations, and is to be used just as a reference for your understanding of the systems. @@ -19,9 +19,9 @@ We continuously build and deploy [`master`](https://github.com/freeCodeCamp/free Typically, the `master` branch is merged into the [`production-staging`](https://github.com/freeCodeCamp/freeCodeCamp/tree/production-staging) branch once a day and released into an isolated infrastructure. We call this our "staging/beta" application. -It is identical to our live production environment at `freeCodeCamp.org`, other than it using a separate set of databases, servers, web-proxy, etc. This isolation lets us test ongoing development and features in a "production like" scenario, without affecting regular users of freeCodeCamp.org's platforms. +It is identical to our live production environment at `freeCodeCamp.org`, other than it using a separate set of databases, servers, web-proxy, etc. This isolation lets us test ongoing development and features in a "production like" scenario, without affecting regular users of freeCodeCamp.org's platforms. -Once the developer team (@freeCodeCamp/dev-team) is happy with the changes on the staging application, these changes are moved every few days to the [`production-current`](https://github.com/freeCodeCamp/freeCodeCamp/tree/production-current) branch. We then release the changes to our live platforms on freeCodeCamp.org +Once the developer team [`@freeCodeCamp/dev-team`](https://github.com/orgs/freeCodeCamp/teams/dev-team/members) is happy with the changes on the staging application, these changes are moved every few days to the [`production-current`](https://github.com/freeCodeCamp/freeCodeCamp/tree/production-current) branch. We then release the changes to our live platforms on freeCodeCamp.org We employ various levels of integration and acceptance testing to check on the quality of the code. All our tests are done through software like Travis and Azure Pipelines. Some of this automated, that is once changes are pushed to the corresponding branch, they get built and deployed on the platforms. @@ -47,50 +47,75 @@ The dev-team merges changes from the `production-staging` branch to `production- ## Build and Deployment Status -We use Azure Pipelines and other CI software (Travis, GitHub Actions), to continiously test and deploy our applications. +We use Azure Pipelines and other CI software (Travis, GitHub Actions), to continuously test and deploy our applications. ### Triggering a build -Currently we have given access only to the developer team to push to the production branches, beacuse of the automated deplyements on live sites. The changes to the `production-*` branches can land only via fast-forward merge to the [`upstream`](https://github.com/freeCodeCamp/freeCodeCamp). +Currently, only the developer team can push to the production branches, because of the automated deployments on live sites. The changes to the `production-*` branches can land only via fast-forward merge to the [`upstream`](https://github.com/freeCodeCamp/freeCodeCamp). -You should have configured your remotes correctly: +> Note: In the upcoming days we would improve this flow to be done via pull-requests, for better access management and transparency. -```sh -freeCodeCamp on  master is 📦 v0.0.1 via ⬢ v10.16.0 -❯ git remote -v -origin git@github.com:raisedadead/freeCodeCamp.git (fetch) -origin git@github.com:raisedadead/freeCodeCamp.git (push) -upstream git@github.com:freeCodeCamp/freeCodeCamp.git (fetch) -upstream git@github.com:freeCodeCamp/freeCodeCamp.git (push) -``` +1. Configure your remotes correctly. -The below commands will move changes from `master` to the `production-*` branch: + ```sh + freeCodeCamp on master is 📦 v0.0.1 via ⬢ v10.16.0 + ❯ git remote -v + origin git@github.com:raisedadead/freeCodeCamp.git (fetch) + origin git@github.com:raisedadead/freeCodeCamp.git (push) + upstream git@github.com:freeCodeCamp/freeCodeCamp.git (fetch) + upstream git@github.com:freeCodeCamp/freeCodeCamp.git (push) + ``` -> #### :rotating_light: Do not run the below, if you have not confirmed Travis is green on the master branch :rotating_light: +2. Make sure your master is pristine and in sync with the upstream. -```sh -git checkout master -git fetch --all --prune -git reset --hard upstream/master -git checkout production-staging -git merge master -git push upstream -``` + ```sh + git checkout master + git fetch --all --prune + git reset --hard upstream/master + ``` -You will not be able to force push and if you have re-written the history in anyway it will error out. +3. Check that the Travis CI is passing on the master branch for upstream. + + - [ ] https://travis-ci.org/freeCodeCamp/freeCodeCamp/branches should be Green. + + ![Image - Check build status on Travis CI](/docs/images/devops/travis-build.png) + +4. Confirm that you are able to build the repository locally. + + ``` + npm run clean-and-develop + ``` + +5. Move changes from master to `production-staging` + + ``` + git checkout production-staging + git merge master + git push upstream + ``` + + You will not be able to force push and if you have re-written the history in anyway these commands will error out. ### Triggering a deployment -Once the changes are pushed, these should trigger our CI and CD pipilines: +Once the changes are pushed to the production branches, these should trigger our build and release pipelines: - Build Pipeline: https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_build + + This pipeline is setup to build artifacts for deployments. + + - Release Pipeline: https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_release -The build pipeline triggers the release pipeline after a hold of 15 minutes for devs to go in and intervene if necessary. We would make these to mannual approvals in future. + This pipeline is setup to deploy artifacts to their destination servers. -> Note: The release pipeline is intentionaly not deploying to production site currently, before the upcoming release. This should change when the guide goes live in a few days. +The build pipeline triggers the release pipeline after a hold of 15 minutes for our staff developers to go in and intervene if necessary. We would make these to have manual approvals in future for more faster builds. -Should you find any anomalies please let us know on the tracker, or send an email to `dev@freecodecamp.org`. As always all security vulnerabilities should be reported to `security@freecodecamp.org` instead of the public tracker and forum. +For now, you should not trigger more than one build within an hour, and wait for a previous build to complete. + +The code/config is publicly accessible on Azure's Dev Dashboard. Write access to this is limited to the freeCodeCamp.org staff team. + +> Note: The release pipeline is intentionally not deploying to production site currently, before the upcoming release. This should change when the guide goes live in a few days. ### Build Status @@ -110,12 +135,14 @@ Should you find any anomalies please let us know on the tracker, or send an emai ## Known Limitations -There will be some known limitations and tradeoffs when using this beta version of the platform. +There will be some known limitations and tradeoffs when using the beta version of the platform. - #### All data / personal progress on these beta applications `will NOT be saved or carried over` to production. + **Users on the beta version will have a separate account from the production.** The beta version uses a physically separate database from production. This gives us the ability to prevent any accidental loss of data or modifications. The dev team may purge the database on this beta version as needed. - #### There are no guarantees on the uptime and reliability of the beta applications. + Deployment is expected to be frequent and in rapid iterations, sometimes multiple times a day. As a result there will be unexpected downtime at times or broken functionality on the beta version. The dev team will usually notify for updates in the [Contributors Chat room](https://gitter.im/FreeCodeCamp/Contributors). - #### Do not send regular users to this site as a measure of confirming a fix @@ -123,6 +150,7 @@ There will be some known limitations and tradeoffs when using this beta version The beta site is and always has been to augment local development and testing, nothing else. It's not a promise of what’s coming, but a glimpse of what is being worked upon. - #### Sign in and authentication only available via email, not social. + Google, GitHub and Facebook logins will NOT be available in this beta mode. This is simply a technical limitation, because we are using a separate `test domain` for this version. **Email logins will work just as fine.** The sign page may look different than production (as a measure to isolate the development and the production databases.) @@ -130,3 +158,5 @@ There will be some known limitations and tradeoffs when using this beta version ## Reporting issues and leaving feedback 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. diff --git a/docs/images/devops/travis-build.png b/docs/images/devops/travis-build.png new file mode 100644 index 0000000000000000000000000000000000000000..86405eb6177d7f8c75ee8aa8d14e680811b7e99c GIT binary patch literal 66677 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 M5{lyGqDCM8ACda|nE(I) literal 0 HcmV?d00001