/
project_setup.sh
37 lines (26 loc) · 966 Bytes
/
project_setup.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
PROJECT="{{ project.name }}"
ROOT="/web/$PROJECT"
SITE_SERVICE="/var/service/$PROJECT"
PYTHON_VERSION=$(python -c 'import sys; print ".".join(map(str, sys.version_info)[:2])')
VIRTUALENV_SITEPACKAGES="$ROOT/lib/python$PYTHON_VERSION/site-packages"
REQUIREMENTS="$ROOT/{{ project.src() }}/REQUIREMENTS"
{% if new -%}
su - web -c "virtualenv --system-site-packages $ROOT"
su - web -c "echo $ROOT > $VIRTUALENV_SITEPACKAGES/$PROJECT.pth"
cat > /etc/nginx/sites-enabled/$PROJECT << "EOF"
{% include 'conf/nginx.conf' %}
EOF
mkdir -p $SITE_SERVICE/log/main
cat > $SITE_SERVICE/run << "EOF"
{% include 'scripts/run.sh' %}
EOF
cat > $SITE_SERVICE/log/run << "EOF"
{% include 'scripts/log.sh' %}
EOF
chmod +x $SITE_SERVICE/run
chmod +x $SITE_SERVICE/log/run
ln -s $SITE_SERVICE /etc/service/$PROJECT
{%- endif %}
su - web -c "$ROOT/bin/pip install{% if upgrade_packages %} -U{% endif %} -r $REQUIREMENTS"
sv restart /etc/service/$PROJECT
/etc/init.d/nginx reload