diff --git a/create.sh b/create.sh index 7498137..5e3b873 100644 --- a/create.sh +++ b/create.sh @@ -3,6 +3,8 @@ name="$1" sshURL="$2" +nodePort=`./random_port.py` + eval "$(ssh-agent -s)" ssh-add /root/.ssh/id_github_rsa mkdir /var/www/gitwrapper/$name @@ -14,26 +16,29 @@ DJANGO_SETTINGS_MODULE=project.settings.prod export DJANGO_SETTINGS_MODULE=project.settings.prod git clone $sshURL . -/usr/local/bin/virtualenv ./env -source env/bin/activate -pip install -r requirements.txt + +./scripts/setUp.sh + cp /var/www/local_settings.py project/settings/local_settings.py echo "BRANCH = '$name'" >> project/settings/local_settings.py +# set up project from prod, load database git checkout prod -python manage.py createcachetable -python3 manage.py migrate -python3 manage.py loaddata /var/www/django.json +./manage.py createcachetable +./manage.py migrate +./manage.py loaddata /var/www/django.json git checkout $name -pip install -r requirements.txt +./scripts/setUp.sh -python3 manage.py collectstatic --noinput -python3 manage.py migrate +# python3 manage.py collectstatic --noinput +./manage.py migrate chmod 777 db.sqlite3 + +# set up apache vhost echo "" > /etc/apache2/sites-enabled/$name.conf echo " ServerName $name.staging.bytedev.co" >> /etc/apache2/sites-enabled/$name.conf echo " Alias /static /var/www/gitwrapper/$name/staticfiles" >> /etc/apache2/sites-enabled/$name.conf diff --git a/random_port.py b/random_port.py new file mode 100755 index 0000000..abe9630 --- /dev/null +++ b/random_port.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python3 +import socket + +s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +s.bind(('', 0)) +addr = s.getsockname() +print (addr[1]) +s.close() +exit(0) diff --git a/routes/index.js b/routes/index.js index 2e15866..8157a84 100644 --- a/routes/index.js +++ b/routes/index.js @@ -12,19 +12,19 @@ var calls = { create: function(req, res, name, sshURL){ return exec('bash /var/www/gitdeploy/create.sh '+name+' '+sshURL, function(err, stdout, stderr){ console.log(err, stdout, stderr); - return res.json({ title: 'Express' }); + return res.json({ title: stdout }); }); }, update: function(req, res, name, sshURL){ return exec('bash /var/www/gitdeploy/update.sh '+name+' '+sshURL, function(err, stdout, stderr){ console.log(err, stdout, stderr); - return res.json({ title: 'Express' }); + return res.json({ title: stdout }); }); }, delete: function(req, res, name, sshURL){ return exec('bash /var/www/gitdeploy/delete.sh '+name+' '+sshURL, function(err, stdout, stderr){ console.log(err, stdout, stderr); - return res.json({ title: 'Express' }); + return res.json({ title: stdout }); }); } diff --git a/update.sh b/update.sh index 621e5ca..432da49 100644 --- a/update.sh +++ b/update.sh @@ -2,17 +2,18 @@ name="$1" sshURL="$2" +# set up git to auth eval "$(ssh-agent -s)" ssh-add /root/.ssh/id_github_rsa + DJANGO_SETTINGS_MODULE=project.settings.prod export DJANGO_SETTINGS_MODULE=project.settings.prod + cd /var/www/gitwrapper/$name - -source env/bin/activate - git stash git pull --force origin $name -pip install -r requirements.txt + +./scripts/setUp.sh python3 manage.py collectstatic --noinput python3 manage.py migrate