All checks were successful
default/mapgen/master This commit looks good
63 lines
1.8 KiB
Groovy
63 lines
1.8 KiB
Groovy
#!groovy
|
|
|
|
def remote = [:]
|
|
remote.host = "oreolek.ru"
|
|
remote.name = remote.host
|
|
remote.allowAnyHosts = false
|
|
remote.knownHosts = "/var/lib/jenkins/.ssh/known_hosts"
|
|
|
|
node {
|
|
currentBuild.result = "SUCCESS";
|
|
try {
|
|
stage('Checkout'){
|
|
checkout scm
|
|
}
|
|
stage('Build'){
|
|
env.NODE_ENV = "development";
|
|
sh 'yarn install';
|
|
sh './node_modules/gulp/bin/gulp.js dist';
|
|
}
|
|
withCredentials([sshUserPrivateKey(
|
|
credentialsId: 'f8d69fad-cd63-43ca-8e4e-411f4cf8ac73',
|
|
keyFileVariable: 'identity',
|
|
passphraseVariable: 'passPhrase',
|
|
usernameVariable: 'userName'
|
|
)]) {
|
|
stage('Deploy'){
|
|
echo 'Copy to web server';
|
|
remote.user = userName
|
|
remote.passphrase = passPhrase
|
|
remote.identityFile = identity
|
|
sh 'rm -rf mapgen'
|
|
sh 'mv dist mapgen'
|
|
sshPut remote: remote, from: './mapgen', into: '/var/www/oreolek/my_games/'
|
|
sh 'mv mapgen dist'
|
|
}
|
|
}
|
|
stage('Cleanup'){
|
|
echo 'prune and cleanup';
|
|
sh 'npm prune';
|
|
sh 'rm -rf build dist';
|
|
|
|
emailext (
|
|
subject: "SUCCESSFUL: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
|
|
body: """<p>SUCCESSFUL: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
|
|
<p>Check console output at "<a href="${env.BUILD_URL}">${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>"</p>""",
|
|
recipientProviders: [developers()]
|
|
);
|
|
}
|
|
}
|
|
catch (err) {
|
|
currentBuild.result = "FAILURE";
|
|
sh 'rm -rf build dist';
|
|
|
|
emailext (
|
|
subject: "FAILURE: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
|
|
body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
|
|
<p>Check console output at "<a href="${env.BUILD_URL}">${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>"</p>""",
|
|
recipientProviders: [developers()]
|
|
)
|
|
throw err
|
|
}
|
|
}
|