47 lines
1.4 KiB
Groovy
47 lines
1.4 KiB
Groovy
properties(
|
|
[
|
|
disableConcurrentBuilds()
|
|
]
|
|
)
|
|
|
|
node('linux && docker') {
|
|
try {
|
|
stage('Checkout') {
|
|
//branch name from Jenkins environment variables
|
|
echo "My branch is: ${env.BRANCH_NAME}"
|
|
|
|
// this doesn't grab tags pointing to this branch
|
|
//checkout scm
|
|
// this hack does... https://issues.jenkins.io/browse/JENKINS-45164
|
|
checkout([
|
|
$class: 'GitSCM',
|
|
branches: [[name: 'refs/heads/'+env.BRANCH_NAME]],
|
|
extensions: [[$class: 'CloneOption', noTags: false, shallow: false, depth: 0, reference: '']],
|
|
userRemoteConfigs: scm.userRemoteConfigs,
|
|
])
|
|
sh '''
|
|
set -euxo pipefail
|
|
git checkout "$BRANCH_NAME" --
|
|
git reset --hard "origin/$BRANCH_NAME"
|
|
'''
|
|
}
|
|
|
|
stage('Build + Deploy') {
|
|
sh '''
|
|
mkdir -p release
|
|
cp xmpp-proxy.toml release
|
|
curl --compressed -sL https://code.moparisthebest.com/moparisthebest/self-ci/raw/branch/master/build-ci.sh | bash
|
|
'''
|
|
}
|
|
|
|
currentBuild.result = 'SUCCESS'
|
|
} catch (Exception err) {
|
|
currentBuild.result = 'FAILURE'
|
|
} finally {
|
|
stage('Email') {
|
|
step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'admin.jenkins@moparisthebest.com', sendToIndividuals: true])
|
|
}
|
|
deleteDir()
|
|
}
|
|
}
|