From 8bfb22db0ff0b38dd4db3e20b38db102da05a16c Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Sun, 1 Jun 2025 21:55:20 +0100 Subject: [PATCH] Using scipted ci --- Jenkinsfile | 72 ++++++++++++++++++++--------------------------------- 1 file changed, 27 insertions(+), 45 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index cb9fb51..d2197d9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,64 +1,46 @@ -pipeline { - agent any +node { + env.NODE_ENV = 'production' - environment { - NODE_ENV = 'production' - } - - stages { + try { stage('Setup Node.js') { - steps { - nodejs(nodeJSInstallationName: 'Node23') { - sh 'node -v' - sh 'npm -v' - } + nodejs(nodeJSInstallationName: 'Node23') { + sh 'node -v' + sh 'npm -v' } } stage('Install Dependencies') { - steps { - nodejs(nodeJSInstallationName: 'Node23') { - sh 'npm ci --include=dev' - } + nodejs(nodeJSInstallationName: 'Node23') { + sh 'npm ci --include=dev' } } stage('Build') { - steps { - nodejs(nodeJSInstallationName: 'Node23') { - sh 'npm run build' - } + nodejs(nodeJSInstallationName: 'Node23') { + sh 'npm run build' } } stage('Deploy to printer1') { - steps { - script { - def remote = [:] - remote.name = 'printer1' - remote.host = 'printer1.tombutcher.local' - remote.user = 'ci' - remote.password = 'ci' - remote.allowAnyHosts = true - // Upload the build folder - sshPut remote: remote, from: 'build/', into: '/srv/farmcontrol-server/' + def remote = [:] + remote.name = 'printer1' + remote.host = 'printer1.tombutcher.local' + remote.user = 'ci' + romote.password = 'ci' + remote.allowAnyHosts = true - // Restart the service - sshCommand remote: remote, command: 'sudo /bin/systemctl restart farmcontrol-server.service' - } - } - } - } + // Copy the build directory to the remote server + sshPut remote: remote, from: 'build/', into: '/srv/farmcontrol-server/' - post { - always { - cleanWs() - } - success { - echo 'Pipeline completed successfully!' - } - failure { - echo 'Pipeline failed!' + // Restart the service using sudo + sshCommand remote: remote, command: 'sudo /bin/systemctl restart farmcontrol-server.service' } + + echo 'Pipeline completed successfully!' + } catch (Exception e) { + echo 'Pipeline failed!' + throw e + } finally { + cleanWs() } } \ No newline at end of file