New features: - Automatic error reporting (enabled by default) - Increase build times by leveraging docker build caches - Fixes: - Fix error handling - Fix vue autodetect - Custom dockerfile is not the default Others: - Cleanup `logs-servers` collection, because old errors are not standardized - New Traefik proxy version - Standardized directory configurations
29 lines
757 B
JavaScript
29 lines
757 B
JavaScript
const Dockerode = require('dockerode')
|
|
const { saveAppLog } = require('./logging')
|
|
|
|
const docker = {
|
|
engine: new Dockerode({
|
|
socketPath: process.env.DOCKER_ENGINE
|
|
}),
|
|
network: process.env.DOCKER_NETWORK
|
|
}
|
|
async function streamEvents (stream, configuration) {
|
|
await new Promise((resolve, reject) => {
|
|
docker.engine.modem.followProgress(stream, onFinished, onProgress)
|
|
function onFinished (err, res) {
|
|
if (err) reject(err)
|
|
resolve(res)
|
|
}
|
|
function onProgress (event) {
|
|
if (event.error) {
|
|
saveAppLog(event.error, configuration, true)
|
|
reject(event.error)
|
|
} else if (event.stream) {
|
|
saveAppLog(event.stream, configuration)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
module.exports = { streamEvents, docker }
|