使用Maven,SVN和Jenkins问题部署Adobe Experience Manager

时间:2016-03-02 20:21:26

标签: maven svn jenkins deployment aem

我们正在努力使用Jenkins在签入代码时将AEM站点部署到我们的开发服务器。基础架构使用Jenkins配置和设置Maven,JDK和SVN。

我们有一个多模块项目。文件结构如下:

/ProjectFolder/
--------------/ProjectName/
--------------/ProjectName/pom.xml
--------------/ProjectName.core/
--------------/ProjectName.core/pom.xml
--------------/ProjectName.it.launcher/
--------------/ProjectName.it.launcher/pom.xml
--------------/ProjectName.it.tests/
--------------/ProjectName.it.tests/pom.xml
--------------/ProjectName.ui.apps/
--------------/ProjectName.ui.apps/pom.xml
--------------/ProjectName.ui.content/
--------------/ProjectName.ui.content/pom.xml

/ProjectName/pom.xml指定以下内容:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ProjectName</groupId>
<artifactId>ProjectName</artifactId>
<packaging>pom</packaging>
<version>0.0.1-SNAPSHOT</version>
<description>ProjectName</description>

<modules>
    <module>core</module>
    <module>ui.apps</module>
    <module>ui.content</module>
    <module>it.tests</module>
    <module>it.launcher</module>
</modules>

将Jenkins作业设置为从SVN提取并使用Maven发布时,它会找到根POM(ProjectName / pom.xml),但会失败并显示模块POM文件。生成以下输出:

ERROR: Failed to parse POMs
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[ERROR] Child module C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\core of C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\pom.xml does not exist @ 
[ERROR] Child module C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\ui.apps of C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\pom.xml does not exist @ 
[ERROR] Child module C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\ui.content of C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\pom.xml does not exist @ 
[ERROR] Child module C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\it.tests of C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\pom.xml does not exist @ 
[ERROR] Child module C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\it.launcher of C:\Users\JenkinsSA\.jenkins\jobs\Web_PublishDevelopment\workspace\ProjectName\pom.xml does not exist @ 

任何人都可以提供一些有关这可能是什么问题的见解吗?

1 个答案:

答案 0 :(得分:1)

更改父pom中的模块,如下所示 -

<modules>
    <module>../ProjectName.core</module>
    <module>../ProjectName.ui.apps</module>
    <module>../ProjectName.ui.content</module>
    <module>../ProjectName.it.tests</module>
    <module>../ProjectName.it.launcher</module>
</modules>

另一个解决方案是保持pom不变并将模块文件夹移动到父文件夹中。即.-

/ProjectFolder/
--------/ProjectName/
--------------/core
--------------/it.launcher
--------------/it.tests
--------------/ui.apps
--------------/ui.content