我有一份合同,我们可以在运行 mvn pact:publish -Dpactbroker.auth.token=myToken 时将其发布到 pact flow broker。但是,当从 Jenkins 运行它时,相同的合同和 maven 命令会给我们一个身份验证错误。不确定接下来的步骤会出现什么问题,并且合同验证是否成功并使用相同的令牌。
这是我们正在使用的版本:
<pact.version>4.2.14</pact.version>
<pact.plugin.version>4.0.10</pact.plugin.version>
<maven.surefire.version>3.0.0-M5</maven.surefire.version>
这里是我们的詹金斯文件
node {
def git_commit
def mvnHome = tool name: 'maven3.6.0'
stage(name: 'Checkout') {
git credentialsId: ‘someCredentials’, url: “my.git", branch: "$branch_name"
sh "git rev-parse HEAD > commit"
git_commit = readFile('commit').trim()
}
stage(name: 'Compile') {
sh "$mvnHome/bin/mvn clean package -DskipTests"
}
stage(name: 'Pact Generate Contracts') {
sh "$mvnHome/bin/mvn -Dtest=com.hmhco.viaductservice.pact.consumer.*Test test"
}
stage(name: 'Pact Publish Contracts Tests') {
sh "$mvnHome/bin/mvn pact:publish -Dpactbroker.auth.token=myToken”
}
stage(name: 'Pact Verify Tests') {
sh "$mvnHome/bin/mvn -Dpactbroker.auth.token=myToken -Dtest=com.hmhco.viaductservice.pact.provider.*Test test"
}
}