125 lines
3.3 KiB
Groovy
125 lines
3.3 KiB
Groovy
#!/usr/bin/env groovy
|
|
|
|
String BASE_REMOTE_PATH = "//home/devops"
|
|
String APP_REMOTE_PATH = "//mnt/docker-storage/containers/savefamily/sf-sims"
|
|
|
|
pipeline {
|
|
agent any
|
|
tools { nodejs "22.15.0" }
|
|
|
|
environment {
|
|
GENERAL_CHANGES = "false"
|
|
}
|
|
|
|
stages {
|
|
stage('📦 Install dependencies') {
|
|
steps {
|
|
sh 'npm install -g yarn'
|
|
sh 'corepack enable'
|
|
sh 'corepack prepare yarn@4.12.0 --activate'
|
|
sh 'yarn install --immutable'
|
|
}
|
|
}
|
|
stage("🧱 Building") {
|
|
steps {
|
|
sh 'rm -rf dist/'
|
|
sh 'yarn run build'
|
|
}
|
|
}
|
|
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-sims/.env $APP_REMOTE_PATH/.env"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
execCommand: "ln -sf $BASE_REMOTE_PATH/vault/savefamily/sf-sims/sim-consumidor-objenious.env $APP_REMOTE_PATH/sim-consumidor-objenious.env"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
execCommand: "ln -sf $BASE_REMOTE_PATH/vault/savefamily/sf-sims/sim-consumidor-nos.env $APP_REMOTE_PATH/sim-consumidor-nos.env"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
execCommand: "ln -sf $BASE_REMOTE_PATH/vault/savefamily/sf-sims/sim-objenious-cron.env $APP_REMOTE_PATH/sim-objenious-cron.env"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
execCommand: "ln -sf $BASE_REMOTE_PATH/vault/savefamily/sf-sims/obj.pem $APP_REMOTE_PATH/obj.pem"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "dist/**/*",
|
|
excludes: "dist/**/node_modules/**"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "docs/**/*",
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "deployment/database/**/*",
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "deployment/develop/rabbit/**/*",
|
|
removePrefix: "deployment/develop",
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "rabbitmq_plugins/**/*"
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "deployment/develop/docker/**/*",
|
|
removePrefix: "deployment/develop/docker",
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: "package.json",
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
remoteDirectory: "$APP_REMOTE_PATH",
|
|
sourceFiles: ".yarnrc.yml",
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
execCommand: "sh $APP_REMOTE_PATH/rebuild.sh"
|
|
)
|
|
]
|
|
)
|
|
]
|
|
)
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
failure {
|
|
echo '👎🏼 Processing failed'
|
|
}
|
|
success {
|
|
echo '👍🏼 Processing success'
|
|
}
|
|
}
|
|
}
|