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
.envfile (optional) - Run the website
Commands
Build
docker-compose buildCreate local .env file
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 toFalseand re-start the server to fetch blog posts.
Run the website locally
docker-compose upRun the tests
docker-compose run web ./manage.py testSync with Greenhouse
docker-compose run web ./manage.py sync_greenhouseClose everything
docker-compose stopTesting 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_sitefolder in the root of your project - On your machine,
cd _siteand start a little web server:python -m SimpleHTTPServer 8001(orpython -m http.server 8001if you're on python 2.7) - Open your browser to
http://localhost:8001and 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.
