Я пытаюсь настроить Artifactory в задании Jenkins, созданном с помощью Плагин Job DSL.
Конфигурация выглядит так:
wrappers {
colorizeOutput 'xterm'
buildName '#${BUILD_NUMBER}-release'
artifactoryGenericConfigurator {
// Repository to deploy to.
details {
artifactoryName('artifactory.foo.bar.com')
artifactoryUrl('https://artifactory.foo.bar.com/artifactory')
deployReleaseRepository {
keyFromSelect('')
keyFromText('')
dynamicMode(false)
}
deploySnapshotRepository {
keyFromSelect('')
keyFromText('')
dynamicMode(false)
}
resolveReleaseRepository() {
keyFromText('')
keyFromSelect('')
dynamicMode(false)
}
resolveSnapshotRepository() {
keyFromText('')
keyFromSelect('')
dynamicMode(false)
}
userPluginKey('')
userPluginParams('')
useSpecs(true)
uploadSpec {
spec('''{
"files": [
{
"pattern": "app.tar.gz",
"target": "myrepo/app/${BUILD_NUMBER}-release",
"flat" : "false"
}
]
}''')
filePath(null)
}
downloadSpec {
spec('')
filePath(null)
}
}
deployPattern('')
deployBuildInfo(true)
includeEnvVars(false)
discardOldBuilds(false)
discardBuildArtifacts(false)
multiConfProject(false)
deployerCredentialsConfig(null)
resolverCredentialsConfig(null)
resolverDetails(null)
resolvePattern(null)
matrixParams(null)
envVarsPatterns {
includePatterns('*')
excludePatterns('*PASSWORD*,*password*,*secret*,*key*')
}
asyncBuildRetention(false)
artifactoryCombinationFilter(null)
customBuildName(null)
overrideBuildName(false)
}
}
Однако эта конфигурация всегда приводит к этой ошибке, что немного сбивает с толку, так как я не знаю, какая часть моей конфигурации здесь неправильная.
FATAL: ни один сервер Artifactory не настроен на null. Пожалуйста, проверьте вашу конфигурацию. java.io.IOException: сервер Artifactory не настроен на null. Пожалуйста, проверьте вашу конфигурацию. в org.jfrog.hudson.util.RepositoriesUtils.validateServerConfig (RepositoriesUtils.java:191) на org.jfrog.hudson.generic.ArtifactoryGenericConfigurator.setUp (ArtifactoryGenericConfigurator.setUp (ArtifactoryGenericConfigurator.setUp (ArtifactoryGenericConfigurator). .java: 157) в hudson.model.AbstractBuild $ AbstractBuildExecution.run (AbstractBuild.java:504) в hudson.model.Run.execute (Run.java:1724) в hudson.model.FreeStyleBuild.run (FreeStyle :Build.java 43) в hudson.model.ResourceController.execute (ResourceController.java:97) в hudson.model.Executor.run (Executor.java:421)
Вот важная деталь: если после создания своего задания я перехожу на страницу конфигурации Jenkins для этого задания и сохраняю конфигурацию, ничего не меняя, тогда эта конфигурация работает. Думаю, я просто использую неправильные значения по умолчанию для всех параметров.
NB: я должен указать все это, поскольку они указаны как "обязательные" в программе просмотра API ... http://enkins/plugin/job-dsl/api-viewer/index.html
Я смотрел исходный код плагина, и хотя я смог найти контекст для своего сообщения об ошибке, я не смог точно диагностировать проблему в моем сценарии DSL.