Francesco Siddi b76be2a7ba Add /design-system endpoint
This is where the representation of the design system will reside.
When the application runs in production (with DEBUG = False) the url
will return 404.
2019-11-13 18:47:28 +01:00
2019-11-13 18:47:28 +01:00
2019-03-27 12:58:08 +01:00
2019-11-13 18:47:28 +01:00
2019-05-29 16:40:51 +02:00
2019-04-08 16:44:29 +02:00
2019-11-13 10:43:25 +01:00
2017-03-10 15:36:55 +01:00
2019-05-31 17:05:05 +02:00
2019-05-14 10:36:15 +02:00
2017-11-14 16:09:29 +01:00
2017-11-14 16:09:29 +01:00

Blender Cloud

Welcome to the Blender Cloud code repo! Blender Cloud runs on the Pillar framework.

Development setup

Jumpstart Blender Cloud development with this simple guide.

System setup

Blender Cloud relies on a number of services in order to run. Check out the Pillar system setup to set this up.

Add cloud.local to the /etc/hosts file on localhost. This is a development convention.

Check out the code

Go to the local development directory and check out the following repositories, next to each other.

cd /home/guest/Developer
git clone git://git.blender.org/pillar-python-sdk.git
git clone git://git.blender.org/pillar.git
git clone git://git.blender.org/attract.git
git clone git://git.blender.org/flamenco.git
git clone git://git.blender.org/pillar-svnman.git
git clone git://git.blender.org/blender-cloud.git

Initial setup and configuration

Create a virtualenv for the project and install the requirements. Dependencies are managed via Poetry. Install it using pip install -U --user poetry.

cd blender-cloud
pip install --user -U poetry
poetry install

NOTE: After a dependency changed its own dependencies (say a new library was added as dependency of Pillar), you need to run poetry update. This will take the new dependencies into account and write them to the poetry.lock file.

Build assets and templates for all Blender Cloud dependencies using Gulp.

./gulp all

Make a copy of the config_local example, which will be further edited as the application is configured.

cp config_local.example.py config_local.py

Setup the database with the initial collections and the admin user.

poetry run ./manage.py setup setup_db your_email

The command will return the following message:

Created project <project_id> for user <user_id>

Copy the value of <project_id> and assign it as value for MAIN_PROJECT_ID.

Run the application:

poetry run ./manage.py runserver

Development

When ready to commit, change the remotes to work over SSH. For example:

git remote set-url origin git@git.blender.org:blender-cloud.git

For more information, check out this guide.

Preparing the production branch for deployment

All revisions to deploy to production should be on the production branches of all the relevant repositories.

Make sure you have these aliases in the [alias] section of your ~/.gitconfig:

prod = "!git checkout production && git fetch origin production && gitk --all"
ff = "merge --ff-only"

The following commands should be executed for each (sub)project; specifically for the current repository, Pillar, Attract, Flamenco, and Pillar-SVNMan:

cd $projectdir

# Ensure there are no local, uncommitted changes.
git status
git stash  # if you still have local stuff.

# pull from master, run unittests, push your changes to master.
git pull
poetry run py.test
git push

# Switch to production branch, and investigate the situation.
git prod

# Fast-forward the production branch to the master branch.
git ff master

# Run tests again
poetry run py.test

# Push the production branch.
git push

Deploying to production server

See deploy/README.md.

Description
Blender Cloud
Readme 18 MiB
Languages
Pug 51%
Python 33.9%
Sass 6.3%
Shell 5.4%
JavaScript 1.6%
Other 1.8%