This commit is contained in:
2018-10-14 11:37:54 -04:00
parent 0fc95da317
commit c3293e1ec4
19 changed files with 45 additions and 519 deletions

View File

@ -1,16 +1,40 @@
var express = require('express');
var router = express.Router();
var exec = require('child_process').exec;
'use strict';
const router = require('express').Router();
const {exec} = require('child_process');
var fs = require('fs');
/* GET home page. */
var install_dir = '/var/www/gitwrapper/'
// function lxc_create(name, callback) {
// exec('lxc-create', [
// '-n', 'name_'+(Math.random()*100).toString().slice(-4),
// '-t' 'download', '--',
// '--dist', 'ubuntu',
// '--release', 'xenial',
// '--arch', 'amd64']
// function(err, stdout, stderr){
// });
// }
var calls = {
create: function(req, res, name, sshURL){
console.log("create =========================");
// create new container
// install git in container
// seed container with deploy key
// clone repo into container
// run <repo>/scripts/deploy/create
// add entry to proxy
return exec('bash /var/www/gitdeploy/create.sh '+name+' '+sshURL, function(err, stdout, stderr){
console.log(err, stdout, stderr);
return res.json({ title: stdout });
@ -40,11 +64,13 @@ router.all('/', function(req, res, next) {
(req.body.deleted && 'delete') ||
'update';
var name = req.body.ref.replace('refs/heads/', '');
var branch = req.body.ref.replace('refs/heads/', '');
var sshURL = req.body.repository.ssh_url;
if(call === 'update' && !fs.existsSync('/var/www/gitwrapper/'+name)) call = 'create';
return calls[call](req, res, name, sshURL);
console.log('body');
// return calls[call](req, res, branch, sshURL);
});
module.exports = router;

View File

@ -1,9 +0,0 @@
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;