// 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 ') process.exit(1) } buildAndPush(version)