fix(tools): integrate gitpod for development workflow (#36302)

This commit is contained in:
Sven Efftinge
2019-08-06 17:58:07 +02:00
committed by mrugesh
parent 88e1beff56
commit 769a67211f
3 changed files with 57 additions and 0 deletions

8
.gitpod.Dockerfile vendored Normal file
View 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
View 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

View File

@@ -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.
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](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 |