mapgen/Jenkinsfile
Alexander Yakovlev dc7421d289
All checks were successful
default/mapgen/master This commit looks good
piwik + Jenkinsfile
2018-10-10 18:59:41 +07:00

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 city_landscape'
sh 'mv dist city_landscape'
sshPut remote: remote, from: './city_landscape', into: '/var/www/oreolek/my_games/'
sh 'mv city_landscape 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
}
}