Начальному заданию не удается создать MavenJob, но об ошибке не сообщается

Я создал тестовый пример Junit jenkins, в котором запускается экземпляр jenkins в памяти (поскольку мы используем @Rule jenkinsrule). Код тестового примера доступен здесь. Тестовый пример создаст FreeStyleProject (= начальное задание), который будет использовать в качестве DSL скрипта Groovy файл maven.groovy файл

Но когда тестовый пример выполняется, во время выполнения сборки задания появляется следующее сообщение. Сообщение сообщает о последствиях импорта/анализа файла mavenJob.groovy, поскольку задание ожидает, что будет создано новое задание.

Legacy code started this job.  No cause information is available
Running as SYSTEM
Building in workspace /var/folders/t2/jwchtqkn5y76hrfrws7dqtqm0000gn/T/j h5344303144116520886/workspace/test0
Processing provided DSL script
ERROR: java.io.IOException: Unable to read /var/folders/t2/jwchtqkn5y76hrfrws7dqtqm0000gn/T/j h5344303144116520886/jobs/mvn-spring-boot-rest-http/config.xml
Finished: FAILURE

И, конечно же, трассировка стека ошибки не является stdout или stderr. Как я могу изучить проблему и исправить ее?

Примечание:

Если я использую файл config.xml и импортирую его в отдельный экземпляр jenkins, задание выполнено успешно.

Сгенерированный файл config.xml выглядит хорошо (по сравнению с тем же файлом config.xml, созданным с использованием пользовательского интерфейса)

<?xml version='1.1' encoding='UTF-8'?>
<project>
  <keepDependencies>false</keepDependencies>
  <properties/>
  <scm class="hudson.scm.NullSCM"/>
  <canRoam>false</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <javaposse.jobdsl.plugin.ExecuteDslScripts>
      <scriptText>mavenJob(&apos;mvn-spring-boot-rest-http&apos;) {
    description &apos;A Maven Job compiling the project Spring Boot Rest HTTP Example&apos;

    parameters {
        gitParameter {
            name &apos;SELECTED_TAG&apos;
            description &apos;The Git tag to checkout&apos;
            type &apos;PT_TAG&apos;
            defaultValue &apos;2.3.4-2&apos;
            branch &apos;&apos;
            branchFilter &apos;origin/(.*)&apos;
            quickFilterEnabled false
            selectedValue &apos;DEFAULT&apos;
            sortMode &apos;DESCENDING_SMART&apos;
            tagFilter &apos;*&apos;
            useRepository &apos;.*rest-http-example.git&apos;
            listSize &apos;10&apos;
        }
    }

    scm {
        git {
            remote {
                url &apos;https://github.com/snowdrop/rest-http-example.git&apos;
                // branch(&apos;$SELECTED_TAG&apos;)
                branch(&apos;2.3.4-2&apos;)
            }
        }
    }
    rootPOM &apos;pom.xml&apos;
    goals &apos;clean install&apos;
}</scriptText>
      <usingScriptText>true</usingScriptText>
      <sandbox>false</sandbox>
      <ignoreExisting>false</ignoreExisting>
      <ignoreMissingFiles>false</ignoreMissingFiles>
      <failOnMissingPlugin>false</failOnMissingPlugin>
      <failOnSeedCollision>false</failOnSeedCollision>
      <unstableOnDeprecation>false</unstableOnDeprecation>
      <removedJobAction>IGNORE</removedJobAction>
      <removedViewAction>IGNORE</removedViewAction>
      <removedConfigFilesAction>IGNORE</removedConfigFilesAction>
      <lookupStrategy>JENKINS_ROOT</lookupStrategy>
    </javaposse.jobdsl.plugin.ExecuteDslScripts>
  </builders>
  <publishers/>
  <buildWrappers/>
</project>

Заранее большое спасибо за вашу помощь.

Я также создал здесь обсуждение темы: https://groups.google.com/g/jenkinsci-users/c/mRSwARFapyA

Чарльз


person Charles Moulliard    schedule 17.12.2020    source источник


Ответы (1)


Проблема была связана со многими отсутствующими зависимостями, необходимыми для запуска тестового примера. Я обновил файл build.gradle, и теперь это работает.

https://github.com/ch007m/jenkins-job-dsl/blob/jenkins-2.271/build.gradle#L53-L72

Кстати, сообщаемое сообщение об ошибке никак не связано с основной причиной и тем, как решить проблему. это должно быть улучшено в коде ;-)

person Charles Moulliard    schedule 17.12.2020