| #!/usr/bin/env groovy |
| |
| pipeline { |
| agent any |
| triggers { |
| pollSCM('H H * * *') |
| } |
| tools { |
| jdk 'oracle-jdk8-latest' |
| maven 'apache-maven-latest' |
| } |
| environment { |
| MVN = 'mvn -B -q -Dmaven.test.failure.ignore=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn' |
| REPO='git@github.com:eclipse-ee4j/jersey.git' |
| SECRET_FILE_ID='6474d9ed-eadc-47a0-8f60-43277c1cad52' |
| SECURITY_FILE_ID='8e6103e6-a03e-44fe-bd9a-a4ed070d9b56' |
| CONFIG_FILE_ID='c88e58d9-97bd-4f06-af82-fd469abcedea' |
| CREDENTIALS_ID='f5848e71-9994-45e3-8214-137ce91ddbcf' |
| BUILD_BRANCH='master' |
| } |
| stages { |
| stage('Fetch from git') { |
| steps { |
| git(branch: BUILD_BRANCH, credentialsId: CREDENTIALS_ID, url: REPO) |
| } |
| } |
| stage('Nightly Build') { |
| steps { |
| withCredentials([file(credentialsId: SECRET_FILE_ID, variable: 'KEYRING')]) { |
| configFileProvider([configFile(fileId: SECURITY_FILE_ID, targetLocation: '/home/jenkins/.m2/')]) { |
| |
| //# Workaround: GPG initialization |
| sh("gpg --batch --import ${KEYRING}") |
| sh ''' |
| for fpr in $(gpg --list-keys --with-colons | awk -F: '/fpr:/ {print $10}' | sort -u); |
| do |
| echo -e "5\ny\n" | gpg --batch --command-fd 0 --expert --edit-key $fpr trust; |
| done |
| ''' |
| configFileProvider([configFile(fileId: CONFIG_FILE_ID, variable: 'MAVEN_SETTINGS_XML')]) { |
| sh "$MVN -s $MAVEN_SETTINGS_XML clean install" |
| } |
| } |
| } |
| } |
| post { |
| always { |
| archiveArtifacts allowEmptyArchive: true, artifacts: '**/target/**.jar', fingerprint: true, onlyIfSuccessful: true |
| junit allowEmptyResults: true, testResults:'**/target/surefire-reports/*.xml' |
| } |
| } |
| } |
| } |
| } |