107 lines
2.5 KiB
Groovy
107 lines
2.5 KiB
Groovy
#!/usr/bin/env groovy
|
|
|
|
String BASE_REMOTE_PATH = "//home/devops"
|
|
String APP_REMOTE_PATH = "//mnt/docker-storage/containers/savefamily/sf-nfc-server"
|
|
|
|
pipeline {
|
|
agent any
|
|
tools { nodejs "22.15.0" }
|
|
|
|
environment {
|
|
GENERAL_CHANGES = "false"
|
|
}
|
|
|
|
stages {
|
|
stage('📦 Install dependencies') {
|
|
steps {
|
|
sh 'npm install'
|
|
}
|
|
}
|
|
stage("🧱 Building") {
|
|
steps {
|
|
sh 'npm run build:esbuild'
|
|
}
|
|
}
|
|
stage("🏗 Deploying") {
|
|
steps {
|
|
sshPublisher(
|
|
publishers: [
|
|
sshPublisherDesc(
|
|
verbose: true,
|
|
configName: "Save Family",
|
|
transfers: [
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
execCommand: "mkdir -p $APP_REMOTE_PATH"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
execCommand: "ln -sf $BASE_REMOTE_PATH/vault/savefamily/sf-nfc-server/.env $APP_REMOTE_PATH/.env"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "docs/**/*",
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "deployment/develop/**/*",
|
|
removePrefix:"deployment/develop"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "deployment/database/**/*",
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "package.json",
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "src/**/*"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "dist/**/*"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "tsconfig.json"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "package-lock.json",
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
execCommand: "sh chmod +x $APP_REMOTE_PATH/start.sh"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
execCommand: "sh $APP_REMOTE_PATH/docker/rebuild.sh"
|
|
)
|
|
]
|
|
)
|
|
]
|
|
)
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
failure {
|
|
echo '👎🏼 Processing failed'
|
|
}
|
|
success {
|
|
echo '👍🏼 Processing success'
|
|
}
|
|
}
|
|
}
|