You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: contributor_docs/installation.md
+24-22Lines changed: 24 additions & 22 deletions
Original file line number
Diff line number
Diff line change
@@ -15,23 +15,24 @@ _Note_: The installation steps assume you are using a Unix-like shell. If you ar
15
15
```
16
16
17
17
4. If you are using nvm, run `$ nvm use` to set your Node version to 16.14.2
18
-
5. Navigate into the project folder and install all its necessary dependencies with npm.
18
+
5. Ensure your npm version is set to 8.5.0. If it isn't, run `npm install -g npm@8.5.0` to install it.
19
+
6. Navigate into the project folder and install all its necessary dependencies with npm.
19
20
20
21
```
21
22
$ cd p5.js-web-editor
22
23
$ npm install
23
24
```
24
-
6. Install MongoDB and make sure it is running
25
+
7. Install MongoDB and make sure it is running
25
26
* For Mac OSX with [homebrew](http://brew.sh/): `brew tap mongodb/brew` then `brew install mongodb-community` and finally start the server with `brew services start mongodb-community` or you can visit the installation guide here [Installation Guide For MacOS](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/)
26
27
* For Windows and Linux: [MongoDB Installation](https://docs.mongodb.com/manual/installation/)
27
-
7.`$ cp .env.example .env`
28
-
8. (Optional) Update `.env` with necessary keys to enable certain app behaviors, i.e. add Github ID and Github Secret if you want to be able to log in with Github.
29
-
9. Run `$ npm run fetch-examples` to download the example sketches into a user called 'p5'. Note that you need to configure your GitHub Credentials, which you can do by following the [Github API Configuration](#github-api-configuration) section.
30
-
10. Enable Prettier in your text editor by following [this guide](https://prettier.io/docs/en/editors.html).
31
-
11.`$ npm start`
32
-
12. Navigate to [http://localhost:8000](http://localhost:8000) in your browser
33
-
13. Install the [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en)
34
-
14. Open and close the Redux DevTools using `ctrl+h`, and move them with `ctrl+w`
28
+
8.`$ cp .env.example .env`
29
+
9. (Optional) Update `.env` with necessary keys to enable certain app behaviors, i.e. add Github ID and Github Secret if you want to be able to log in with Github.
30
+
10. Run `$ npm run fetch-examples` to download the example sketches into a user called 'p5'. Note that you need to configure your GitHub Credentials, which you can do by following the [Github API Configuration](#github-api-configuration) section.
31
+
11. Enable Prettier in your text editor by following [this guide](https://prettier.io/docs/en/editors.html).
32
+
12.`$ npm start`
33
+
13. Navigate to [http://localhost:8000](http://localhost:8000) in your browser
34
+
14. Install the [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en)
35
+
15. Open and close the Redux DevTools using `ctrl+h`, and move them with `ctrl+w`
35
36
36
37
## Docker Installation
37
38
@@ -42,27 +43,28 @@ Using Docker, you can have a complete, consistent development environment withou
42
43
Note that this takes up a significant amount of space on your machine. Make sure you have at least 5GB free.
5. (Optional) Update `.env` with necessary keys to enable certain app behavoirs, i.e. add Github ID and Github Secret if you want to be able to log in with Github.
51
-
6.`$ docker-compose -f docker-compose-development.yml run --rm app npm run fetch-examples` - note that you need to configure your GitHub Credentials, which you can do by following the [Github API Configuration](#github-api-configuration) section.
52
-
7. Enable Prettier in your text editor by following [this guide](https://prettier.io/docs/en/editors.html).
6. (Optional) Update `.env` with necessary keys to enable certain app behavoirs, i.e. add Github ID and Github Secret if you want to be able to log in with Github.
53
+
7.`$ docker-compose -f docker-compose-development.yml run --rm app npm run fetch-examples` - note that you need to configure your GitHub Credentials, which you can do by following the [Github API Configuration](#github-api-configuration) section.
54
+
8. Enable Prettier in your text editor by following [this guide](https://prettier.io/docs/en/editors.html).
53
55
54
56
Now, anytime you wish to start the server with its dependencies, you can run:
If you don't have the full server environment running, you can launch a one-off container instance (and have it automatically deleted after you're done using it):
64
66
65
-
11.`$ docker-compose -f docker-compose-development.yml run app --rm bash -l`
67
+
12.`$ docker-compose -f docker-compose-development.yml run app --rm bash -l`
Copy file name to clipboardExpand all lines: contributor_docs/release.md
+10-14Lines changed: 10 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -11,21 +11,17 @@ This project release guide is based on
11
11
12
12
## Steps
13
13
1.`$ git checkout develop`
14
-
2.`$ git checkout -b release-<newversion>`
15
-
3. Do all of the release branch testing necessary. This could be as simple as running `npm test:ci`, or it could take user testing over a few days.
16
-
4.`$ npm version <newversion>` (see [npm-version](https://docs.npmjs.com/cli/version) for valid values of <newversion>).
17
-
5.`$ git checkout release`
18
-
6.`$ git merge --no-ff release-<newversion>`
19
-
7.`$ git push && git push --tags`
20
-
8.`$ git checkout develop`
21
-
9. Create a release on GitHub. Make sure that you release from the `release` branch! You can do this in one of two ways:
22
-
1. (Preferred) Use the [`hub` command line tool](https://hub.github.com/). You can automate adding all commit messages since the last release with the following command:
Note that this creates a draft release, which you can then edit on GitHub. This allows you to create release notes from the list of commit messages, but then edit these notes as you wish.
27
-
2. [Draft a new release on Github](https://github.com/processing/p5.js-web-editor/releases/new).
14
+
2.`$ git pull origin develop`
15
+
3.`$ git checkout -b release-<newversion>`
16
+
4. Do all of the release branch testing necessary. This could be as simple as running `npm test:ci`, or it could take user testing over a few days.
17
+
5.`$ npm version <newversion>` (see [npm-version](https://docs.npmjs.com/cli/version) for valid values of <newversion>).
18
+
6.`$ git checkout release`
19
+
7.`$ git merge --no-ff release-<newversion>`
20
+
8.`$ git push && git push --tags`
21
+
9.`$ git checkout develop`
28
22
10.`$ git merge --no-ff release-<newversion>`
23
+
11.`$ git push origin develop`
24
+
12.[Draft a new release on Github](https://github.com/processing/p5.js-web-editor/releases/new). Choose the tag that is the release version you just created, and then title it `v<newversion>`. Then click "Generate release notes". Publish the release and you are finished!
29
25
30
26
Travis CI will automatically deploy the release to production, as well as push a production tagged Docker image to DockerHub.
1. Since the latest tag is being used, we can't simply just repoint the image back to the previous release, but we can instead use Kubernetes' built in rollback feature.
1. Log into the [Google Cloud Platform console](https://console.cloud.google.com/) and go to the GKE service and click into the p5-gke-cluster.
9
+
1. There are two components of GKE that need to be upgraded, the control plane (or cluster master node), and the cluster nodes themselves (or node pools), in that order.
10
+
11
+
### Upgrading the GKE control plane
12
+
13
+
1. Upgrade the GKE control plane first, by following the steps below.
14
+

15
+
1. Look up the latest available version in the [Kubernetes release changelog](https://kubernetes.io/releases/) to determine if there are any breaking changes that will require updates to your manifest files. Based on this information, determine the version you want to upgrade the cluster to (ideally the latest supported version) and hit save changes. This should begin the control plane upgrade. Since this is a regional cluster, there should be no downtime during this process however, the API will be unavailable, so do not attempt a deploy during the upgrade.
16
+

17
+
18
+
### Upgrading the GKE node pool
19
+
20
+
1. Wait until the GKE control plane upgrade is complete and then proceed by upgrading the GKE node pool using the following steps.
21
+
1. Navigate to the workloads page to make sure that you have a few replicas (pods) of each service running in the cluster so that the node draining process doesn't cause downtime.
22
+
1. Navigate back to the main GKE service page where you see the cluster listing and you should see that there is an update available.
23
+

24
+
1. Select the version that is the same as the control plane.
25
+

26
+
27
+
### Update the version in the terraform
28
+
29
+
1. Since we've done the upgrade manually, the terraform file should be updated to reflect the current version in case we need to recreate the cluster from scratch.
30
+
1. Update the default GKE version [here](https://github.com/processing/p5.js-web-editor/blob/develop/terraform/variables.tf#L13).
0 commit comments