Updated Jenkinsfile to build Linux version using 'yarn build:linux'. Refactored package.json to separate server and renderer build processes, and added new build:linux script. Cleaned up after-install.sh and after-remove.sh scripts by removing service file handling.
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
Some checks failed
farmcontrol/farmcontrol-server/pipeline/head There was a failure building this commit
This commit is contained in:
parent
d98140491f
commit
6539f6e2ff
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@ -48,7 +48,7 @@ try {
|
|||||||
parallel(
|
parallel(
|
||||||
'Windows Build': buildOnLabel('windows', 'yarn build:electron'),
|
'Windows Build': buildOnLabel('windows', 'yarn build:electron'),
|
||||||
'MacOS Build': buildOnLabel('macos', 'yarn build:electron'),
|
'MacOS Build': buildOnLabel('macos', 'yarn build:electron'),
|
||||||
'Linux Build': buildOnLabel('ubuntu', 'yarn build:electron')
|
'Linux Build': buildOnLabel('ubuntu', 'yarn build:linux')
|
||||||
)
|
)
|
||||||
|
|
||||||
echo 'All parallel stages completed successfully!'
|
echo 'All parallel stages completed successfully!'
|
||||||
|
|||||||
33
package.json
33
package.json
@ -8,9 +8,12 @@
|
|||||||
"start": "node build/index.js",
|
"start": "node build/index.js",
|
||||||
"dev": "cross-env NODE_ENV=development nodemon src/index.js",
|
"dev": "cross-env NODE_ENV=development nodemon src/index.js",
|
||||||
"dev:electron": "concurrently \"cross-env NODE_ENV=development vite src/electron --port 5287 --no-open\" \"cross-env NODE_ENV=development electron src/index.js\"",
|
"dev:electron": "concurrently \"cross-env NODE_ENV=development vite src/electron --port 5287 --no-open\" \"cross-env NODE_ENV=development electron src/index.js\"",
|
||||||
"build": "yarn clean && mkdir build && cp -r src/* build/ && cp package.json config.json build/ && yarn build:electron-renderer && cp src/electron/preload.js build/electron/ && 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": "yarn clean && yarn build:server && yarn build:renderer",
|
||||||
|
"build:server": "mkdir -p build && cp -r src/* build/ && cp package.json config.json build/",
|
||||||
|
"build:renderer": "yarn build:electron-renderer && cp src/electron/preload.js build/electron/ && 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": "yarn build && electron-builder",
|
"build:electron": "yarn build && electron-builder",
|
||||||
|
"build:linux": "yarn build:server && mkdir -p app_dist/linux && pkg . --targets node23-linux-x64 --output app_dist/linux/farmcontrol-server && fpm -s dir -t deb -n farmcontrol-server -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 -s dir -t rpm -n farmcontrol-server -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",
|
||||||
@ -47,6 +50,7 @@
|
|||||||
"electron-builder": "^26.0.12",
|
"electron-builder": "^26.0.12",
|
||||||
"jest": "^30.2.0",
|
"jest": "^30.2.0",
|
||||||
"nodemon": "^3.1.11",
|
"nodemon": "^3.1.11",
|
||||||
|
"pkg": "^5.8.1",
|
||||||
"react": "^19.2.0",
|
"react": "^19.2.0",
|
||||||
"react-dom": "^19.2.0",
|
"react-dom": "^19.2.0",
|
||||||
"rimraf": "^6.1.2",
|
"rimraf": "^6.1.2",
|
||||||
@ -72,31 +76,6 @@
|
|||||||
},
|
},
|
||||||
"win": {
|
"win": {
|
||||||
"target": "nsis"
|
"target": "nsis"
|
||||||
},
|
}
|
||||||
"linux": {
|
|
||||||
"target": [
|
|
||||||
"AppImage",
|
|
||||||
"deb",
|
|
||||||
"rpm"
|
|
||||||
],
|
|
||||||
"category": "Utility",
|
|
||||||
"maintainer": "Tom Butcher <tom@tombutcher.work>",
|
|
||||||
"executableName": "farmcontrol-server"
|
|
||||||
},
|
|
||||||
"deb": {
|
|
||||||
"priority": "optional",
|
|
||||||
"afterInstall": "packaging/linux/after-install.sh",
|
|
||||||
"afterRemove": "packaging/linux/after-remove.sh"
|
|
||||||
},
|
|
||||||
"rpm": {
|
|
||||||
"afterInstall": "packaging/linux/after-install.sh",
|
|
||||||
"afterRemove": "packaging/linux/after-remove.sh"
|
|
||||||
},
|
|
||||||
"extraResources": [
|
|
||||||
{
|
|
||||||
"from": "packaging/linux/farmcontrol-server.service",
|
|
||||||
"to": "farmcontrol-server.service"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Copy systemd service file
|
|
||||||
# The installation directory is usually /opt/Farm Control Server
|
|
||||||
# but we can try to find it if it's different.
|
|
||||||
APP_DIR="/opt/Farm Control Server"
|
|
||||||
if [ ! -d "$APP_DIR" ]; then
|
|
||||||
# Fallback to slugified name
|
|
||||||
APP_DIR="/opt/farmcontrol-server"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp "$APP_DIR/resources/farmcontrol-server.service" /etc/systemd/system/farmcontrol-server.service
|
|
||||||
|
|
||||||
# Reload systemd to recognize the new service
|
# Reload systemd to recognize the new service
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
|
|
||||||
|
|||||||
@ -6,9 +6,6 @@ systemctl stop farmcontrol-server.service
|
|||||||
# Disable the service
|
# Disable the service
|
||||||
systemctl disable farmcontrol-server.service
|
systemctl disable farmcontrol-server.service
|
||||||
|
|
||||||
# Remove the systemd service file
|
|
||||||
rm -f /etc/systemd/system/farmcontrol-server.service
|
|
||||||
|
|
||||||
# Reload systemd
|
# Reload systemd
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user