Lumbergh
Lumbergh is a Django based App for https://careers.mozilla.org. Follow the Setup your environment for development instructions to improve the website and fix errors.
Careers.mozilla.org website is a static website which is automatically generated from its Django counterpart. If you're interested to learn how what works and how to debug potential issues visit the Career's Mana Page
Setup your environment for development
- Get Docker and Docker Compose
- Run Build command
- Create local
.env
file (optional) - Run the website
Commands
Build
docker-compose build
.env
file
Create local You probably want to add a couple local environment settings to improve local dev:
- In the root of the project, create a file named
.env
- Add
ENGAGE_ROBOTS=False
- this will prevent robots from indexing the site if you happen to build locally and push to a URL that shouldn't be indexed. - Add
SKIP_POSTS=True
- this will avoid hitting the Wordpress API with each load of the home page (making page loads much faster). Change toFalse
and re-start the server to fetch blog posts.
Run the website locally
docker-compose up
Run the tests
docker-compose run web ./manage.py test
Sync with Greenhouse
docker-compose run web ./manage.py sync_greenhouse
Close everything
docker-compose stop
Testing the static build locally
Ensure the site is running via docker-compose up
, then:
- Get a command line inside the Docker container:
docker exec -it lumbergh_web_1 /bin/bash
- In the Docker container, build the site:
./bin/mirror.sh
- this will create a_site
folder in the root of your project - On your machine,
cd _site
and start a little web server:python -m SimpleHTTPServer 8001
(orpython -m http.server 8001
if you're on python 2.7) - Open your browser to
http://localhost:8001
and you should see the newly built static site.
Pushing to production
- Verify all is good on the staging site
- Make sure your local master branch is up to date
- Push the master branch to the prod branch:
git push origin master:prod
You can watch the deployment on GitLab. A notice will be posted in #careers-notify
on Slack when the push has completed.
Code of Conduct
This repository is governed by Mozilla's Community Participation Guidelines and Developer Etiquette Guidelines.