Keep the app source archive with the app instance data dir
This commit is contained in:
@@ -160,16 +160,15 @@ async function pullImage(imageRef) {
|
||||
});
|
||||
}
|
||||
|
||||
async function buildImage(manifest) {
|
||||
assert.strictEqual(typeof manifest, 'object');
|
||||
async function buildImage(dockerImage, sourceArchiveFilePath) {
|
||||
assert.strictEqual(typeof dockerImage, 'string');
|
||||
assert.strictEqual(typeof sourceArchiveFilePath, 'string');
|
||||
|
||||
const sourceArchivePath = '/tmp/' + manifest.dockerImage.slice('local/'.length);
|
||||
debug(`buildImage: building ${dockerImage} from ${sourceArchiveFilePath}`);
|
||||
|
||||
debug(`buildImage: building ${manifest.dockerImage} from ${sourceArchivePath}`);
|
||||
|
||||
const tarStream = fs.createReadStream(sourceArchivePath);
|
||||
const [error, stream] = await safe(gConnection.buildImage(tarStream, { t: manifest.dockerImage }));
|
||||
if (error) throw new BoxError(BoxError.DOCKER_ERROR, `Unable to build image from ${sourceArchivePath}: ${error.message}`);
|
||||
const tarStream = fs.createReadStream(sourceArchiveFilePath);
|
||||
const [error, stream] = await safe(gConnection.buildImage(tarStream, { t: dockerImage }));
|
||||
if (error) throw new BoxError(BoxError.DOCKER_ERROR, `Unable to build image from ${sourceArchiveFilePath}: ${error.message}`);
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
let buildError = null;
|
||||
@@ -190,14 +189,14 @@ async function buildImage(manifest) {
|
||||
debug(`buildImage: error ${buildError}`);
|
||||
return reject(new BoxError(buildError.message.includes('no space') ? BoxError.FS_ERROR : BoxError.DOCKER_ERROR, buildError.message));
|
||||
} else {
|
||||
debug(`buildImage: success ${manifest.dockerImage}`);
|
||||
debug(`buildImage: success ${dockerImage}`);
|
||||
}
|
||||
|
||||
resolve();
|
||||
});
|
||||
|
||||
stream.on('error', (error) => {
|
||||
debug(`buildImage: error building image ${manifest.dockerImage}: %o`, error);
|
||||
debug(`buildImage: error building image ${dockerImage}: %o`, error);
|
||||
reject(new BoxError(BoxError.DOCKER_ERROR, error.message));
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user