【发布时间】:2019-10-16 18:22:05
【问题描述】:
我已将 Artifactory 和 Jira 插件安装到我的 Jenkins 构建中。添加了必需的标签,我看到构建将我的工件推送到 Artifactory。
我已经像这样添加了rtCollectIssues 部分:
stage ('Issues Collection') {
steps {
rtCollectIssues (
serverId: "${ENV_ARTIFACTORY_SERVER_ID}",
config: """{
"version": 1,
"issues": {
"trackerName": "JIRA",
"regexp": "(.+-[0-9]+)\\s-\\s(.+)",
"keyGroupIndex": 1,
"summaryGroupIndex": 2,
"trackerUrl": "https://jira.my-company.com",
"aggregate": "true",
"aggregationStatus": "RELEASED"
}
}""",
buildName: "${ENV_JOB_NAME}",
buildNumber: "${ENV_BUILD_NUMBER}"
)
}
}
但是,我仍然没有在 Artifactory 的 Builds 下看到任何问题:
然而,它成功地从 Jenkins 发送了这些数据(基于下图)
如何添加 GIT cmets 以便收集它们并将其发送到 JFrog Artifactory?
编辑: 詹金斯文件:
pipeline {
agent any
environment {
ENV_BRANCH_NAME = "${env.BRANCH_NAME}"
ENV_BUILD_NUMBER = "${env.BUILD_NUMBER}"
ENV_JOB_NAME = "${env.JOB_NAME.toLowerCase()}"
ENV_ARTIFACTORY_URL = "artifactorydev.mycompany.com:8081"
ENV_ARTIFACTORY_SERVER_ID = "art-01.net"
ENV_ARTIFACTORY_VIRTUAL_REPO = "docker"
ENV_ARTIFACTORY_RELEASE_REPO = "libs-release-local"
ENV_GIT_URL = "https://myserver/_git/hello-world"
}
stages {
stage ('Clone') {
steps {
echo 'Branch Name: ' + "${ENV_BRANCH_NAME}"
echo 'Build Number: ' + "${ENV_BUILD_NUMBER}"
echo 'Job Name: ' + "${ENV_JOB_NAME}"
echo 'Artifactory Url: ' + "http://${ENV_ARTIFACTORY_URL}/artifactory"
echo 'Artifactory ServerId: ' + "${ENV_ARTIFACTORY_SERVER_ID}"
git(
url: "${ENV_GIT_URL}",
credentialsId: '4c81efa2-1d49-4b70-859e-d699c1f618c0',
branch: 'master'
)
}
}
stage ('Artifactory configuration') {
steps {
rtServer (
id: "${ENV_ARTIFACTORY_SERVER_ID}",
url: "http://${ENV_ARTIFACTORY_URL}/artifactory",
credentialsId: 'f8f8918e-0368-4b37-88ed-cf25401fa1e1',
bypassProxy: true
)
}
}
stage('Build Docker Image') {
steps {
echo 'Starting to build docker image'
script {
def dockerfile = 'Dockerfile'
def customImage = docker.build('$ENV_ARTIFACTORY_URL/$ENV_ARTIFACTORY_VIRTUAL_REPO/$ENV_JOB_NAME:$ENV_BUILD_NUMBER', "-f ${dockerfile} .")
}
}
}
stage ('Push To Artifactory') {
steps {
rtDockerPush(
serverId: "${ENV_ARTIFACTORY_SERVER_ID}",
image: "$ENV_ARTIFACTORY_URL/$ENV_ARTIFACTORY_VIRTUAL_REPO/$ENV_JOB_NAME:$ENV_BUILD_NUMBER",
host: 'tcp://localhost:2375',
targetRepo: "$ENV_ARTIFACTORY_VIRTUAL_REPO",
// Attach custom properties to the published artifacts:
properties: 'status=stable'
)
}
}
stage ('Issues Collection') {
steps {
rtCollectIssues (
serverId: "${ENV_ARTIFACTORY_SERVER_ID}",
config: """{
"version": 1,
"issues": {
"trackerName": "JIRA",
"regexp": "(.+-[0-9]+)\\s-\\s(.+)",
"keyGroupIndex": 1,
"summaryGroupIndex": 2,
"trackerUrl": "https://jira.inwk.com",
"aggregate": "true",
"aggregationStatus": "RELEASED"
}
}""",
// You may alternatively provide a path to a config file, instead of the config itself, by setting:
// configPath: '/path/to/config'
buildName: "${ENV_JOB_NAME}",
buildNumber: "${ENV_BUILD_NUMBER}"
)
}
}
stage ('Publish Build Info') {
steps {
rtBuildInfo (
captureEnv: true,
includeEnvPatterns: ['*Env*'],
maxBuilds: 2,
maxDays: 2,
doNotDiscardBuilds: ["3"],
deleteBuildArtifacts: true,
buildName: "${ENV_JOB_NAME}",
buildNumber: "${ENV_BUILD_NUMBER}"
)
rtPublishBuildInfo (
serverId: "${ENV_ARTIFACTORY_SERVER_ID}",
buildName: "${ENV_JOB_NAME}",
buildNumber: "${ENV_BUILD_NUMBER}"
)
}
}
}
}
【问题讨论】:
标签: jenkins jenkins-pipeline artifactory jenkins-groovy