0

我有一个现有的 Jenkins 作业,它手动配置了 UI,用于手动在 XL Deploy 上构建和部署。

我现在正在创建一个带有管道的 Jenkinsfile,当我从 Git 提交某些内容时,它将取代现有的手动构建代码的工作。

我已经为构建、测试覆盖率和归档阶段编写了一个 Jenkinsfile 代码,它工作正常。

但是,唯一的问题是 XL Deploy 阶段出现错误“java.lang.NoSuchMethodError: No such DSL method 'xldCreatePackage' found between steps....”。

我的问题是,如果以前的工作在包括 XL Deploy 在内的所有阶段都取得了成功,那么为什么使用 Jenkinsfile 创建的新工作会出现此错误?

下面是用于 XL Deploy 阶段的代码片段:

stage('DeployIT: Package') {
  steps {
      script {
        def fileContents = readFile file: 'deployit-manifest.xml', encoding: 'UTF-8'
        fileContents = fileContents.replace('1.0.0', "1.${env.BUILD_NUMBER}")
        fileContents = fileContents.replace('target/XXXXXXXX-0.0.1-SNAPSHOT.war', "target/XXXXXXXX-1.${BUILD_NUMBER}.war")
        echo fileContents
        writeFile file: 'deployit-manifest.xml', text: fileContents, encoding: 'UTF-8'
        xldCreatePackage artifactsPath: 'target', manifestPath: 'deployit-manifest.xml', darPath: 'XXXXXXXX-1.${BUILD_NUMBER}.dar'
      }
  }
}

部署清单.xml

<?xml version="1.0" encoding="UTF-8"?>
<udm.DeploymentPackage version="1.0.0" application="XXXXXXX/YYYYYYYYY/ZZZZZZZZ">
 <application />
 <deployables>
  <jee.War name="XXXXXXX" file="target/XXXXXXX*.war"/>
  </deployables>
 <dependencyResolution>LATEST</dependencyResolution>
 <undeployDependencies>false</undeployDependencies>
  <tags>
     <tag>YYYYYYYY</tag>
  </tags>   
</udm.DeploymentPackage>
4

0 回答 0