如何在 Jenkins 流水线中使用 Artifactory Maven 构建
How to use Artifactory Maven Build in Jenkins Pipeline
我正在尝试通过 artifactory maven 将我的构建工件发布到我的 artifactory 服务器。
stage("${buildType} publish to Artifactory") {
def server = Artifactory.server 'artifactory'
def rtMaven = Artifactory.newMavenBuild()
rtMaven.resolver server: server, releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot'
rtMaven.deployer server: server, releaseRepo: 'libs-release-local', snapshotRepo: 'libs-release-local-SNAPSHOT'
rtMaven.tool = 'maven tool name'
def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'clean package -Dskip.unit.tests=true -Dskip.integration.tests=true'
server.publishBuildInfo buildInfo
}
但是作业失败了
ERROR: Couldn't find Maven executable.
我尝试将 "maven tool name" 与我的 jenkins 工具中的 maven 名称匹配,但它仍然不起作用
任何帮助都适用
您似乎 "copy paste" 没有更改变量的示例。
为了使其正常工作,您需要验证以下内容:
您需要在 Jenkins 系统配置页面中检查 Artifactory 实例的名称是什么。该名称是您在 Jenkins 中配置 Artifactory 后为其命名的。
这将是 'Server ID' 下的值。此值应放置在 'Artifactory' 中:
def server = Artifactory.server 'artifactory'
rtMaven.tool = 'maven tool name'
也应替换为您在 "Global Tool Configuration" 中为您安装的 Maven 版本输入的名称。
完成上述操作后,应该就可以了。
看来您使用的是正确的 maven tool name
而不是正确的 Server ID
您的人工制品。
如果您不确定 artifactory serverID
,您也可以使用 artifactory server address
.
指定工件
def server = Artifactory.newServer url: 'YOUR_ARTIFACTORY_URL', username: 'ARTIFACTORY_USERNAME', password: 'ARTIFACTORY_PASSWORD'
我正在尝试通过 artifactory maven 将我的构建工件发布到我的 artifactory 服务器。
stage("${buildType} publish to Artifactory") {
def server = Artifactory.server 'artifactory'
def rtMaven = Artifactory.newMavenBuild()
rtMaven.resolver server: server, releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot'
rtMaven.deployer server: server, releaseRepo: 'libs-release-local', snapshotRepo: 'libs-release-local-SNAPSHOT'
rtMaven.tool = 'maven tool name'
def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'clean package -Dskip.unit.tests=true -Dskip.integration.tests=true'
server.publishBuildInfo buildInfo
}
但是作业失败了
ERROR: Couldn't find Maven executable.
我尝试将 "maven tool name" 与我的 jenkins 工具中的 maven 名称匹配,但它仍然不起作用
任何帮助都适用
您似乎 "copy paste" 没有更改变量的示例。 为了使其正常工作,您需要验证以下内容:
您需要在 Jenkins 系统配置页面中检查 Artifactory 实例的名称是什么。该名称是您在 Jenkins 中配置 Artifactory 后为其命名的。
这将是 'Server ID' 下的值。此值应放置在 'Artifactory' 中:
def server = Artifactory.server 'artifactory'
rtMaven.tool = 'maven tool name'
也应替换为您在 "Global Tool Configuration" 中为您安装的 Maven 版本输入的名称。
完成上述操作后,应该就可以了。
看来您使用的是正确的 maven tool name
而不是正确的 Server ID
您的人工制品。
如果您不确定 artifactory serverID
,您也可以使用 artifactory server address
.
def server = Artifactory.newServer url: 'YOUR_ARTIFACTORY_URL', username: 'ARTIFACTORY_USERNAME', password: 'ARTIFACTORY_PASSWORD'