new work flow 1

This commit is contained in:
William Mantly 2016-09-30 17:54:31 -04:00
parent 2d027afa29
commit d91df030be
4 changed files with 31 additions and 16 deletions

View File

@ -3,6 +3,8 @@
name="$1" name="$1"
sshURL="$2" sshURL="$2"
nodePort=`./random_port.py`
eval "$(ssh-agent -s)" eval "$(ssh-agent -s)"
ssh-add /root/.ssh/id_github_rsa ssh-add /root/.ssh/id_github_rsa
mkdir /var/www/gitwrapper/$name mkdir /var/www/gitwrapper/$name
@ -14,26 +16,29 @@ DJANGO_SETTINGS_MODULE=project.settings.prod
export DJANGO_SETTINGS_MODULE=project.settings.prod export DJANGO_SETTINGS_MODULE=project.settings.prod
git clone $sshURL . git clone $sshURL .
/usr/local/bin/virtualenv ./env
source env/bin/activate ./scripts/setUp.sh
pip install -r requirements.txt
cp /var/www/local_settings.py project/settings/local_settings.py cp /var/www/local_settings.py project/settings/local_settings.py
echo "BRANCH = '$name'" >> project/settings/local_settings.py echo "BRANCH = '$name'" >> project/settings/local_settings.py
# set up project from prod, load database
git checkout prod git checkout prod
python manage.py createcachetable ./manage.py createcachetable
python3 manage.py migrate ./manage.py migrate
python3 manage.py loaddata /var/www/django.json ./manage.py loaddata /var/www/django.json
git checkout $name git checkout $name
pip install -r requirements.txt ./scripts/setUp.sh
python3 manage.py collectstatic --noinput # python3 manage.py collectstatic --noinput
python3 manage.py migrate ./manage.py migrate
chmod 777 db.sqlite3 chmod 777 db.sqlite3
# set up apache vhost
echo "<VirtualHost *:80>" > /etc/apache2/sites-enabled/$name.conf echo "<VirtualHost *:80>" > /etc/apache2/sites-enabled/$name.conf
echo " ServerName $name.staging.bytedev.co" >> /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 echo " Alias /static /var/www/gitwrapper/$name/staticfiles" >> /etc/apache2/sites-enabled/$name.conf

9
random_port.py Executable file
View File

@ -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)

View File

@ -12,19 +12,19 @@ var calls = {
create: function(req, res, name, sshURL){ create: function(req, res, name, sshURL){
return exec('bash /var/www/gitdeploy/create.sh '+name+' '+sshURL, function(err, stdout, stderr){ return exec('bash /var/www/gitdeploy/create.sh '+name+' '+sshURL, function(err, stdout, stderr){
console.log(err, stdout, stderr); console.log(err, stdout, stderr);
return res.json({ title: 'Express' }); return res.json({ title: stdout });
}); });
}, },
update: function(req, res, name, sshURL){ update: function(req, res, name, sshURL){
return exec('bash /var/www/gitdeploy/update.sh '+name+' '+sshURL, function(err, stdout, stderr){ return exec('bash /var/www/gitdeploy/update.sh '+name+' '+sshURL, function(err, stdout, stderr){
console.log(err, stdout, stderr); console.log(err, stdout, stderr);
return res.json({ title: 'Express' }); return res.json({ title: stdout });
}); });
}, },
delete: function(req, res, name, sshURL){ delete: function(req, res, name, sshURL){
return exec('bash /var/www/gitdeploy/delete.sh '+name+' '+sshURL, function(err, stdout, stderr){ return exec('bash /var/www/gitdeploy/delete.sh '+name+' '+sshURL, function(err, stdout, stderr){
console.log(err, stdout, stderr); console.log(err, stdout, stderr);
return res.json({ title: 'Express' }); return res.json({ title: stdout });
}); });
} }

View File

@ -2,17 +2,18 @@
name="$1" name="$1"
sshURL="$2" sshURL="$2"
# set up git to auth
eval "$(ssh-agent -s)" eval "$(ssh-agent -s)"
ssh-add /root/.ssh/id_github_rsa ssh-add /root/.ssh/id_github_rsa
DJANGO_SETTINGS_MODULE=project.settings.prod DJANGO_SETTINGS_MODULE=project.settings.prod
export DJANGO_SETTINGS_MODULE=project.settings.prod export DJANGO_SETTINGS_MODULE=project.settings.prod
cd /var/www/gitwrapper/$name cd /var/www/gitwrapper/$name
source env/bin/activate
git stash git stash
git pull --force origin $name git pull --force origin $name
pip install -r requirements.txt
./scripts/setUp.sh
python3 manage.py collectstatic --noinput python3 manage.py collectstatic --noinput
python3 manage.py migrate python3 manage.py migrate