apkt-eis/build-push.js

40 lines
1.1 KiB
JavaScript

// build-and-push.js
const { exec } = require('child_process')
function buildAndPush(version) {
const build_app = `npm run build`
const docker_image_tag = `defuj/apkt-eis:${version}`
const docker_account = {
username: 'defuj',
token: 'dckr_pat_U_kP14Ws82lJun9f-B4mRpJfjW0'
}
const docker_logout = `docker logout`
const docker_login = `docker login -u ${docker_account.username} -p ${docker_account.token}`
const docker_build = `docker build . -t ${docker_image_tag}`
const docker_push = `docker push ${docker_image_tag}`
const command = `${build_app} && ${docker_logout} && ${docker_login} && ${docker_build} && ${docker_push}`
exec(command, (error, stdout, stderr) => {
if (error) {
console.error(`Error: ${error.message}`)
return
}
if (stderr) {
console.error(`stderr: ${stderr}`)
return
}
console.log(`stdout: ${stdout}`)
})
}
// Ambil argumen versi dari command line
const version = process.argv[2]
if (!version) {
console.error('Usage: node build-push.js <version>')
process.exit(1)
}
buildAndPush(version)