Changed linux build method.
Some checks are pending
farmcontrol/farmcontrol-server/pipeline/head Build started...
Some checks are pending
farmcontrol/farmcontrol-server/pipeline/head Build started...
This commit is contained in:
parent
bc91c2330f
commit
3cc2cbe020
38
Jenkinsfile
vendored
38
Jenkinsfile
vendored
@ -44,11 +44,47 @@ def buildOnLabel(label, buildCommand) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def buildLinuxWithBun() {
|
||||||
|
return {
|
||||||
|
node('ubuntu') {
|
||||||
|
stage("Checkout (Linux)") {
|
||||||
|
checkout scm
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("Setup Bun (Linux)") {
|
||||||
|
sh '''
|
||||||
|
curl -fsSL https://bun.sh/install | bash
|
||||||
|
export PATH="$HOME/.bun/bin:$PATH"
|
||||||
|
bun --version
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("Install Dependencies (Linux)") {
|
||||||
|
sh '''
|
||||||
|
export PATH="$HOME/.bun/bin:$PATH"
|
||||||
|
bun install --frozen-lockfile
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("Build (Linux)") {
|
||||||
|
sh '''
|
||||||
|
export PATH="$HOME/.bun/bin:$PATH"
|
||||||
|
NODE_ENV=production bun run build:linux
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("Archive Artifacts (Linux)") {
|
||||||
|
archiveArtifacts artifacts: 'app_dist/**/*.deb, app_dist/**/*.rpm', fingerprint: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
parallel(
|
parallel(
|
||||||
'Windows Build': buildOnLabel('windows', 'pnpm build:electron'),
|
'Windows Build': buildOnLabel('windows', 'pnpm build:electron'),
|
||||||
'MacOS Build': buildOnLabel('macos', 'pnpm build:electron'),
|
'MacOS Build': buildOnLabel('macos', 'pnpm build:electron'),
|
||||||
'Linux Build': buildOnLabel('ubuntu', 'pnpm build:linux')
|
'Linux Build': buildLinuxWithBun()
|
||||||
)
|
)
|
||||||
|
|
||||||
echo 'All parallel stages completed successfully!'
|
echo 'All parallel stages completed successfully!'
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
"build:renderer": "pnpm build:electron-renderer && shx cp src/electron/preload.js build/electron/ && shx rm -rf build/electron/App.jsx build/electron/main.jsx build/electron/App.css build/electron/index.css build/electron/FarmControlLogo.jsx build/electron/vite.config.js build/electron/public build/electron/build",
|
"build:renderer": "pnpm build:electron-renderer && shx cp src/electron/preload.js build/electron/ && shx rm -rf build/electron/App.jsx build/electron/main.jsx build/electron/App.css build/electron/index.css build/electron/FarmControlLogo.jsx build/electron/vite.config.js build/electron/public build/electron/build",
|
||||||
"build:electron-renderer": "vite build src/electron --outDir build/electron",
|
"build:electron-renderer": "vite build src/electron --outDir build/electron",
|
||||||
"build:electron": "pnpm build && electron-builder",
|
"build:electron": "pnpm build && electron-builder",
|
||||||
"build:linux": "pnpm clean && pnpm build:server && shx mkdir -p app_dist/linux && pkg . --targets node18-linux-x64 --output app_dist/linux/farmcontrol-server && fpm -f -s dir -t deb -n farmcontrol-server -p app_dist/linux/ -v $(node -p \"require('./package.json').version\") --after-install packaging/linux/after-install.sh --after-remove packaging/linux/after-remove.sh app_dist/linux/farmcontrol-server=/usr/bin/farmcontrol-server packaging/linux/farmcontrol-server.service=/lib/systemd/system/farmcontrol-server.service && fpm -f -s dir -t rpm -n farmcontrol-server -p app_dist/linux/ -v $(node -p \"require('./package.json').version\") --after-install packaging/linux/after-install.sh --after-remove packaging/linux/after-remove.sh app_dist/linux/farmcontrol-server=/usr/bin/farmcontrol-server packaging/linux/farmcontrol-server.service=/lib/systemd/system/farmcontrol-server.service",
|
"build:linux": "bun run clean && bun run build:server && shx mkdir -p app_dist/linux && pkg . --targets node18-linux-x64 --output app_dist/linux/farmcontrol-server && fpm -f -s dir -t deb -n farmcontrol-server -p app_dist/linux/ -v $(node -p \"require('./package.json').version\") --after-install packaging/linux/after-install.sh --after-remove packaging/linux/after-remove.sh app_dist/linux/farmcontrol-server=/usr/bin/farmcontrol-server packaging/linux/farmcontrol-server.service=/lib/systemd/system/farmcontrol-server.service && fpm -f -s dir -t rpm -n farmcontrol-server -p app_dist/linux/ -v $(node -p \"require('./package.json').version\") --after-install packaging/linux/after-install.sh --after-remove packaging/linux/after-remove.sh app_dist/linux/farmcontrol-server=/usr/bin/farmcontrol-server packaging/linux/farmcontrol-server.service=/lib/systemd/system/farmcontrol-server.service",
|
||||||
"clean": "rimraf build"
|
"clean": "rimraf build"
|
||||||
},
|
},
|
||||||
"author": "Tom Butcher",
|
"author": "Tom Butcher",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user