[release] GPG 2.1+ support, new Jenkins instance

This commit is contained in:
Jiri Pechanec 2019-07-18 10:01:20 +02:00
parent 55c267557f
commit 8f65435d54
3 changed files with 28 additions and 10 deletions

View File

@ -10,11 +10,13 @@ if (
error 'Input parameters not provided'
}
GIT_CREDENTIALS_ID = '17e7a907-8401-4b7e-a91b-a7823047b3e5'
GIT_CREDENTIALS_ID = 'debezium-github'
DEBEZIUM_DIR = 'debezium'
INCUBATOR_DIR = 'debezium-incubator'
ORACLE_ARTIFACT_DIR = '/home/jenkins/oracle-libs/12.2.0.1.0'
HOME_DIR = '/home/cloud-user'
ORACLE_ARTIFACT_DIR = "$HOME_DIR/oracle-libs/12.2.0.1.0"
ORACLE_ARTIFACT_VERSION = '12.1.0.2'
node('Slave') {

View File

@ -25,14 +25,16 @@ else if (DRY_RUN instanceof String) {
}
echo "Dry run: ${DRY_RUN}"
GIT_CREDENTIALS_ID = '17e7a907-8401-4b7e-a91b-a7823047b3e5'
GIT_CREDENTIALS_ID = 'debezium-github'
JIRA_CREDENTIALS_ID = 'debezium-jira'
HOME_DIR = '/home/cloud-user'
GPG_DIR = 'gpg'
DEBEZIUM_DIR = 'debezium'
DEBEZIUM_INCUBATOR_DIR = 'debezium-incubator'
IMAGES_DIR = 'images'
POSTGRES_DECODER_DIR = 'postgres-decoder'
ORACLE_ARTIFACT_DIR = '/home/jenkins/oracle-libs/12.2.0.1.0'
ORACLE_ARTIFACT_DIR = "$HOME_DIR/oracle-libs/12.2.0.1.0"
ORACLE_ARTIFACT_VERSION = '12.1.0.2'
VERSION_TAG = "v$RELEASE_VERSION"
@ -70,7 +72,7 @@ MAVEN_CENTRAL = 'https://repo1.maven.org/maven2'
STAGING_REPO = 'https://oss.sonatype.org/content/repositories'
STAGING_REPO_ID = null
INCUBATOR_STAGING_REPO_ID = null
LOCAL_MAVEN_REPO = "/home/jenkins/.m2/repository"
LOCAL_MAVEN_REPO = "$HOME_DIR/.m2/repository"
withCredentials([usernamePassword(credentialsId: JIRA_CREDENTIALS_ID, passwordVariable: 'PASSWORD', usernameVariable: 'USERNAME')]) {
JIRA_USERNAME = USERNAME
@ -199,10 +201,8 @@ def mvnRelease(repoDir, repoName, branchName, buildArgs = '') {
}
}
withCredentials([
string(credentialsId: 'debezium-ci-gpg-passphrase', variable: 'PASSPHRASE'),
[$class: 'FileBinding', credentialsId: 'debezium-ci-gpg-public', variable: 'PUBLIC_FILE'],
[$class: 'FileBinding', credentialsId: 'debezium-ci-gpg', variable: 'PRIVATE_FILE']]) {
def mvnlog = sh(script: 'mvn release:perform -DlocalCheckout=$DRY_RUN -Darguments="-s $HOME/.m2/settings-snapshots.xml -Dgpg.secretKeyring=$PRIVATE_FILE -Dgpg.publicKeyring=$PUBLIC_FILE -Dgpg.passphrase=$PASSPHRASE -Dgpg.keyname=8DCDC40D -DskipTests -DskipITs $buildArgs ' + buildArgs + '"', returnStdout: true).trim()
string(credentialsId: 'debezium-ci-gpg-passphrase', variable: 'PASSPHRASE')]) {
def mvnlog = sh(script: "mvn release:perform -DlocalCheckout=$DRY_RUN -Darguments=\"-s $HOME/.m2/settings-snapshots.xml -Dgpg.homedir=\$WORKSPACE/$GPG_DIR -Dgpg.passphrase=$PASSPHRASE -DskipTests -DskipITs $buildArgs\" $buildArgs", returnStdout: true).trim()
echo mvnlog
def match = mvnlog =~ /Created staging repository with ID \"(iodebezium-.+)\"/
if (!match[0]) {
@ -229,6 +229,16 @@ node('Slave') {
stage ('Initialize') {
dir('.') {
deleteDir()
sh "git config user.email || git config --global user.email \"debezium@gmail.com\" && git config --global user.name \"Debezium Builder\""
}
dir(GPG_DIR) {
withCredentials([
string(credentialsId: 'debezium-ci-gpg-passphrase', variable: 'PASSPHRASE'),
[$class: 'FileBinding', credentialsId: 'debezium-ci-secret-key', variable: 'SECRET_KEY_FILE']]) {
echo 'Creating GPG directory'
def gpglog = sh(script: "gpg --import --batch --passphrase $PASSPHRASE --homedir . $SECRET_KEY_FILE", returnStdout: true).trim()
echo gpglog
}
}
checkout([$class: 'GitSCM',
branches: [[name: "*/$DEBEZIUM_BRANCH"]],

View File

@ -743,6 +743,12 @@
<goals>
<goal>sign</goal>
</goals>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>