Blender Cloud
Welcome to the Blender Cloud code repo! Blender Cloud runs on the Pillar framework.
Quick setup
Set up a node with these commands.
#!/usr/bin/env bash
sudo mkdir -p /data/{git,storage,config,certs}
sudo apt-get update
sudo apt-get -y install python3-pip
pip3 install docker-compose
cd /data/git
git clone git://git.blender.org/pillar-python-sdk.git
git clone git://git.blender.org/pillar.git -b production
git clone git://git.blender.org/attract.git -b production
git clone git://git.blender.org/flamenco.git -b production
git clone git://git.blender.org/blender-cloud.git -b production
git clone https://github.com/armadillica/grafista.git -b production
echo '0 8 * * * root docker exec -d grafista bash manage.sh collect' > /etc/cron.d/grafista
After these commands, run deploy.sh
to build the static files and deploy
those too (see below).
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
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
py.test
# Push the production branch.
git push
Deploying to production server
workon blender-cloud # activate your virtualenv
cd $projectdir/deploy
./2docker.sh
./build-all.sh # or ./build-quick.sh
./2server.sh servername
To deploy another branch than production
, do export DEPLOY_BRANCH=otherbranch
before starting
the above commands.
Description
Languages
Pug
51%
Python
33.9%
Sass
6.3%
Shell
5.4%
JavaScript
1.6%
Other
1.8%