const { exec,execSync } = require('child_process'); let refreshDelay = 60; if(process.env.REFRESH_DELAY) refreshDelay = process.env.REFRESH_DELAY; if(!process.env.REPOSITORY_URL) throw "Env var GIT_REPOSITORY must be a valid repository url"; let cloneUrl = process.env.REPOSITORY_URL; if(process.env.REPOSITORY_TOKEN){ cloneUrl = cloneUrl.replace(/(.*:\/\/)(.*)/,'$1'+'myProject:'+process.env.REPOSITORY_TOKEN+'@$2'); } console.log("starting program"); console.log("refresh delay is ("+refreshDelay+"s)"); console.log('Cloning doc repository: '+process.env.GIT_REPOSITORY); let stdout = execSync('cd /rdoc && git clone '+cloneUrl+" docs"); console.log(stdout); setInterval(function() { exec('cd /rdoc/docs && git reset --hard origin/master && git pull', (error, stdout, stderr) => { if (error) { console.error(`error: ${error}`); return; } if(stdout.indexOf('Already up to date')!==-1) return; console.log(`${stdout}`); console.error(`${stderr}`); }); }, refreshDelay * 1000); console.log("load docsify"); exec('docsify serve /rdoc/docs', (error, stdout, stderr) => { if (error) { console.error(`error: ${error}`); return; } console.log(` ${stdout}`); console.error(`${stderr}`); });