const fs = require('fs').promises const { streamEvents, docker } = require('../libs/docker') async function buildImage (configuration) { let dockerFile = ` # build FROM node:lts WORKDIR /usr/src/app COPY package*.json . ` if (configuration.build.command.installation) { dockerFile += `RUN ${configuration.build.command.installation} ` } dockerFile += `COPY . . RUN ${configuration.build.command.build}` await fs.writeFile(`${configuration.general.workdir}/Dockerfile`, dockerFile) const stream = await docker.engine.buildImage( { src: ['.'], context: configuration.general.workdir }, { t: `${configuration.build.container.name}:${configuration.build.container.tag}` } ) await streamEvents(stream, configuration) } module.exports = { buildImage }