什么是一种简单的方法,只从Maven工件库中获取依赖关系,并在Jenkins Declarative Pipeline语



对于我的管道构建步骤,我只是想向Artifactory进行身份验证并运行一个简单的mvn clean install,但我收到了与Artifactory有关的"未授权,ReasonPhrase:未授权"错误。我在一个独立的构建容器中运行我的Maven构建,该容器是我通过Kubernetes构建的。我已经查看了JFrog文档,但到目前为止还没有在Jenkinsfile中进行设置。本质上,我只想从我的Maven Artifactory Repo中获取依赖项并运行我的构建。以下是我目前正在尝试的内容,但一旦进入构建步骤,构建似乎会跳过所有内容:

pipeline {
agent {
kubernetes {
cloud 'cloud-test'
label 'label-test'
}
options {
buildDiscarder(logRotator(numToKeepStr: '10'))
}
environment{
def ART_CREDENTIALS = credentials('artifactory-connect')
def ART_USR = "${env.ART_CREDENTIALS_USR}"
def ART_PSW = "${env.ART_CREDENTIALS_PSW}"
}
stages {
stage('Run in Build Container') {
steps {
container('build-container') {
script{
sh 'echo Running Maven Build...'
// Look at how to authorize to Arty here
def server = Artifactory.server 'arty-server'
rtMaven.resolver server: server, releaseRepo: 'sysdse-maven-local', snapshotRepo: 'snapshots'
}
sh 'mvn clean install'
}
}
}
stage('Run Application') {
steps {
container('App-Container') {
//Run App
}
}
}
stage('Run Tests'){
steps {
container('App-Container'){
//Run Tests
}
}
}
}
}

我通过在docker构建容器中的/path/to/.m2/conf/settings.xml中添加以下内容,然后提交:

<server>
<id>artifactory-repo-id</id>
<url>https://artifactory.location/</url>
<username>user@email.com</username>
<password>secret-http-token</password>
</server>

因此,我在Jenkinsfile中得到的构建阶段看起来像:

stage('Run in Build Container') {
steps {
container('build-container') {
script{
sh 'echo Running Maven Build...'
sh 'mvn clean install'
}
}
}

最新更新