| pipeline { | |
| agent { | |
| kubernetes { | |
| label 'migration' | |
| } | |
| } | |
| options { | |
| disableConcurrentBuilds() | |
| buildDiscarder(logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '2', daysToKeepStr: '14', numToKeepStr: '')) | |
| } | |
| tools { | |
| maven 'apache-maven-latest' | |
| jdk 'openjdk-jdk11-latest' | |
| } | |
| triggers { | |
| pollSCM('H/5 * * * *') | |
| } | |
| stages { | |
| stage('Main') { | |
| stages { | |
| stage('Build') { | |
| steps { | |
| sh 'mvn -B -T 1C clean verify -P eclipse-sign' | |
| } | |
| } | |
| stage('Plain Maven build') { | |
| steps { | |
| sh 'mvn -B -T 1C -f pom-plain.xml compile' | |
| } | |
| } | |
| stage('Update site') { | |
| when { | |
| anyOf { | |
| branch 'master' | |
| branch 'agarciad/ossrh' | |
| } | |
| } | |
| steps { | |
| sh 'mvn -B package -DskipTests' | |
| lock('download-area') { | |
| sshagent (['projects-storage.eclipse.org-bot-ssh']) { | |
| sh ''' | |
| INTERIM=/home/data/httpd/download.eclipse.org/emfatic/interim | |
| SITEDIR="$WORKSPACE/releng/org.eclipse.emf.emfatic.updatesite/target" | |
| if [ -d "$SITEDIR" ]; then | |
| ssh genie.emfatic@projects-storage.eclipse.org rm -rf $INTERIM | |
| scp -r "$SITEDIR/repository" genie.emfatic@projects-storage.eclipse.org:$INTERIM | |
| scp "$SITEDIR"/*.zip genie.emfatic@projects-storage.eclipse.org:$INTERIM/emfatic-interim-site.zip | |
| fi | |
| ''' | |
| } | |
| } | |
| } | |
| } | |
| stage('Deploy to OSSRH') { | |
| when { | |
| anyOf { | |
| branch 'master' | |
| branch 'agarciad/ossrh' | |
| } | |
| } | |
| environment { | |
| KEYRING = credentials('secret-subkeys.asc') | |
| } | |
| steps { | |
| sh ''' | |
| gpg --batch --import "${KEYRING}" | |
| 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 | |
| ''' | |
| lock('ossrh') { | |
| sh 'mvn -B -f pom-plain.xml -P ossrh,eclipse-sign deploy' | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } |