Refactor build-and-push.js and deploy.js to improve code structure and update version number in package.json
This commit is contained in:
parent
fedbdfff16
commit
34e6f328b0
@ -1,39 +0,0 @@
|
|||||||
// 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)
|
|
68
deploy.js
Normal file
68
deploy.js
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
// build-and-push.js
|
||||||
|
const { exec, writeFile } = require('child_process')
|
||||||
|
const fs = require('fs')
|
||||||
|
|
||||||
|
function buildAndPush(version) {
|
||||||
|
var packageFile = require('./package.json')
|
||||||
|
packageFile = {
|
||||||
|
...packageFile,
|
||||||
|
version: version
|
||||||
|
}
|
||||||
|
const packageJsonPath = './package.json'
|
||||||
|
fs.writeFile(packageJsonPath, JSON.stringify(packageFile), (err) => {
|
||||||
|
if (err) {
|
||||||
|
console.error('Error writing package-new.json', err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
console.log('package-new.json updated successfully')
|
||||||
|
|
||||||
|
const versionData = {
|
||||||
|
version: version
|
||||||
|
}
|
||||||
|
const versionJsonPath = './public/version.json'
|
||||||
|
|
||||||
|
fs.writeFile(versionJsonPath, JSON.stringify(versionData), (err) => {
|
||||||
|
if (err) {
|
||||||
|
console.error('Error writing version.json', err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
console.log('version.json updated successfully')
|
||||||
|
|
||||||
|
const build_app = `npm run build`
|
||||||
|
const docker_image_tag = `defuj/apkt-eis:v${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}`
|
||||||
|
const command = `${docker_logout} && ${docker_login}`
|
||||||
|
|
||||||
|
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)
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "eis",
|
"name": "eis",
|
||||||
"version": "0.0.117",
|
"version": "0.0.120-vm",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
@ -13,7 +13,7 @@
|
|||||||
"type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
|
"type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
|
||||||
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
||||||
"format": "prettier --write src/",
|
"format": "prettier --write src/",
|
||||||
"build-push": "node build-push.js"
|
"deploy": "node deploy.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@apollo/client": "^3.8.10",
|
"@apollo/client": "^3.8.10",
|
||||||
|
1
public/version.json
Normal file
1
public/version.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"version":"0.0.120-vm"}
|
@ -5,6 +5,10 @@ const instance = axios.create({
|
|||||||
baseURL: url
|
baseURL: url
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const ax = axios.create({
|
||||||
|
baseURL: window.location.origin
|
||||||
|
})
|
||||||
|
|
||||||
const getUid = async () => await instance.get('/uid')
|
const getUid = async () => await instance.get('/uid')
|
||||||
const getUidRegional = async (regional: number) => await instance.get('/uid?regional=' + regional)
|
const getUidRegional = async (regional: number) => await instance.get('/uid?regional=' + regional)
|
||||||
const getRegional = async () => await instance.get('/regional')
|
const getRegional = async () => await instance.get('/regional')
|
||||||
@ -13,6 +17,7 @@ const getJenisTransaksi = async () => await instance.get('/jenisTransaksi')
|
|||||||
const getUp3 = async (uid: number) => await instance.get('/up3?uid=' + uid)
|
const getUp3 = async (uid: number) => await instance.get('/up3?uid=' + uid)
|
||||||
const getUlp = async (up3: number) => await instance.get('/ulp?up3=' + up3)
|
const getUlp = async (up3: number) => await instance.get('/ulp?up3=' + up3)
|
||||||
const getPosko = async (uppp: number) => await instance.get('/posko?up3=' + uppp)
|
const getPosko = async (uppp: number) => await instance.get('/posko?up3=' + uppp)
|
||||||
|
const getVersion = async () => await ax.get('/version.json')
|
||||||
export {
|
export {
|
||||||
getUid,
|
getUid,
|
||||||
getUp3,
|
getUp3,
|
||||||
@ -21,5 +26,6 @@ export {
|
|||||||
getMedia,
|
getMedia,
|
||||||
getJenisTransaksi,
|
getJenisTransaksi,
|
||||||
getUidRegional,
|
getUidRegional,
|
||||||
getRegional
|
getRegional,
|
||||||
|
getVersion
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import { useMenuStore } from '@/stores/menu'
|
|||||||
import { RouterView } from 'vue-router'
|
import { RouterView } from 'vue-router'
|
||||||
import { useDialogStore } from '@/stores/dialog'
|
import { useDialogStore } from '@/stores/dialog'
|
||||||
import { onMounted } from 'vue'
|
import { onMounted } from 'vue'
|
||||||
import { version } from '../../package.json'
|
import { getVersion } from '@/utils/api/api.rest'
|
||||||
const menu = useMenuStore()
|
const menu = useMenuStore()
|
||||||
const dialog = useDialogStore()
|
const dialog = useDialogStore()
|
||||||
|
|
||||||
@ -23,17 +23,28 @@ const showDialogUpdate = () => {
|
|||||||
dialog.open = true
|
dialog.open = true
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
const checkVersion = () => {
|
||||||
const localVersion = localStorage.getItem('version')
|
getVersion().then((response) => {
|
||||||
if (localVersion) {
|
if (response.data.version) {
|
||||||
if (localVersion !== version) {
|
const version = response.data.version
|
||||||
localStorage.setItem('version', version)
|
const localVersion = localStorage.getItem('version')
|
||||||
showDialogUpdate()
|
if (localVersion) {
|
||||||
|
if (localVersion !== version) {
|
||||||
|
localStorage.setItem('version', version)
|
||||||
|
showDialogUpdate()
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
localStorage.setItem('version', version)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
localStorage.setItem('version', version)
|
setTimeout(() => {
|
||||||
}
|
checkVersion()
|
||||||
})
|
}, 60000)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(() => checkVersion())
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user