let limit = 32 * 1024 * 1024 // 32MB const stream = tar.pack(parentDirectory, { map: function (entry) { if (entry.type === 'file') empty = false
tar.pack(workdir, { // ignore files from ignore list ignore: name => { const relativePath = path.relative(workdir, name); const result = multimatch([relativePath], ignores).length !== 0; return result; }, // map custom config to exoframe.json when provided map: headers => { // if working with custom config - change its name before packing if (args.config && headers.name === args.config) { return { ...headers, name: 'exoframe.json', }; } return headers; }, })
// go process.nextTick(function () { tar.pack(opts.src, opts.tar) .on('error', error) .pipe(zlib.createGzip(opts.gz) .on('error', error)) .pipe(fs.createWriteStream(opts.dest) .on('error', error) .on('finish', callback)); });
function copyRecursive (src, dst, cb) { pump(tar.pack(src), tar.extract(dst), cb) }
clipped.hook('build:docker') .prepend('build-docker', async clipped => { try { await clipped.copy([ {src: clipped.config.dockerTemplate, dest: clipped.config.dist} ]) // let docker = new Docker({ socketPath: '/var/run/docker.sock' }) const stream = await tar.pack(clipped.config.dist) // const files = fs.readdirSync(clipped.config.dist) // console.log(`name is ${clipped.config.name}, ${files}`) await clipped.docker.buildImage( stream, { t: clipped.config.name // dockerfile: path.join(clipped.config.dist, 'Dockerfile') } ) } catch (e) { console.error(e) } })
return reject('Path "' + opts.path + '" does not exist') const tarStream = tar.pack(opts.path) tarStream.entry({ name: 'Dockerfile' }, opts.dockerfile) opts.docker.buildImage(tarStream, {t: opts.image_name}, (err, stream) => {
api.hook('build:docker') .prepend('build-docker-image', async api => { await api.fs.copy({src: dockerTemplate, dest: api.config.docker.dist}) const stream = await tar.pack(api.config.docker.dist) await new Promise((resolve, reject) => { const docker = new Docker() docker.buildImage( stream, {t: api.config.docker.name}, (err, output) => { if (err) { console.error(err) reject(err) } if (output) { output.pipe(process.stdout, {end: true}) output.on('end', resolve) } } ) }) })