fix(tools): integrate gitpod for development workflow (#36302)
This commit is contained in:
8
.gitpod.Dockerfile
vendored
Normal file
8
.gitpod.Dockerfile
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
FROM gitpod/workspace-full
|
||||
|
||||
USER gitpod
|
||||
WORKDIR $HOME
|
||||
|
||||
RUN wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.6.13.tgz && \
|
||||
mkdir -p mongodb && \
|
||||
tar xaf mongodb-linux-x86_64-ubuntu1604-3.6.13.tgz -C mongodb --strip-components=1
|
43
.gitpod.yml
Normal file
43
.gitpod.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
image:
|
||||
file: .gitpod.Dockerfile
|
||||
ports:
|
||||
- port: 27017 # mongodb
|
||||
onOpen: ignore
|
||||
- port: 8000 # client
|
||||
onOpen: open-preview
|
||||
- port: 9228 # node debug
|
||||
onOpen: ignore
|
||||
- port: 3000 # api
|
||||
onOpen: ignore
|
||||
- port: 9229 # node debug
|
||||
onOpen: ignore
|
||||
|
||||
tasks:
|
||||
- name: db
|
||||
# starting mongo in background, so it doesn't block prebuilds
|
||||
before: >
|
||||
mkdir -p /workspace/data &&
|
||||
(~/mongodb/bin/mongod --dbpath /workspace/data &)
|
||||
|
||||
- name: server
|
||||
before: export COOKIE_DOMAIN=gitpod.io && export HOME_LOCATION=$(gp url 8000) && export API_LOCATION=$(gp url 3000)
|
||||
# init is not executed for prebuilt workspaces and restarts,
|
||||
# so we should put all the heavy initialization here
|
||||
init: >
|
||||
cp sample.env .env &&
|
||||
npm ci &&
|
||||
gp await-port 27017 &&
|
||||
npm run seed &&
|
||||
~/mongodb/bin/mongo --eval "db.fsyncLock(); db.fsyncUnlock()"
|
||||
command: >
|
||||
npm run ensure-env &&
|
||||
gp await-port 27017 &&
|
||||
npm run develop:server
|
||||
|
||||
- name: client
|
||||
before: export HOME_LOCATION=$(gp url 8000) && export API_LOCATION=$(gp url 3000)
|
||||
command: >
|
||||
gp await-port 3000 &&
|
||||
cd ./client &&
|
||||
npm run develop -- -H '0.0.0.0'
|
||||
openMode: split-right
|
@@ -103,6 +103,12 @@ Essentially, we expect basic familiarity with some of the aforementioned technol
|
||||
|
||||
**If you want to help us improve our codebase, here's [how to setup freeCodeCamp locally](/docs/how-to-setup-freecodecamp-locally.md).**
|
||||
|
||||
If you want to help us improve our codebase, you can either [setup freeCodeCamp locally](/docs/how-to-setup-freecodecamp-locally.md) or use Gitpod, a free online dev environment.
|
||||
|
||||
[](https://gitpod.io/#https://github.com/freeCodeCamp/freeCodeCamp)
|
||||
|
||||
(Starts a ready-to-code dev environment for freecodecamp in your browser.)
|
||||
|
||||
Feel free to ask us questions on the related issue threads, and we will be glad to clarify. When in doubt, you can reach out to our platform dev team to help you with this:
|
||||
|
||||
| Name | GitHub | Twitter |
|
||||
|
Reference in New Issue
Block a user