与 Talend 和 Jenkins/Maven 的持续集成
Continuous Integration with Talend and Jenkins/Maven
我有一个 Talend studio Enterprise 版本 6.4.1。我已经下载了 CI 构建器并使用以下命令安装了 maven。
mvn install:install-file -Dfile=ci.builder-6.4.1.jar -DpomFile=ci.builder-6.4.1.pom
我已经将作业从 Talend studio 导出到 Git。它包含以下文件。
1) process a) .items b) .properties c).screenshot
2) talend.project
我创建了一个 pom.xml,其中包含以下详细信息
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend</groupId>
<artifactId>buildsources</artifactId>
<version>0.1</version>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.talend</groupId>
<artifactId>ci.builder</artifactId>
<version>6.4.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
我已将 pom.xml 放在命令行工作区的根文件夹中。
我将签出的文件夹放在命令行工作区中。
之后,我在 Talend studio 中执行 commandline.bat 以启动 Talend。
我尝试执行以下命令来生成源文件。
mvn org.talend:ci.builder:6.4.1:generate -X -Dcommandline.workspace="D:\ci-builder\commandline_workspace\TEST" -Dcommandline.host=localhost -Dcommandline.port=8002 -Dcommandline.user=dummy@talend.com -DprojectsTargetDirectory=D:\buildsources\
现在可以找到项目,但最后说找不到工作
[INFO] Preparing for the project: TEST
[INFO] Logon project
[INFO] Generating sources...
[INFO] Logoff project
[WARNING] There's no job in current project!
我正在使用 Windows 机器来测试这个 - Windows 10 64 位。
Maven版本是3.5.3
我已通过以下链接进行此操作。
https://akhileshthipparthi.wordpress.com/2017/01/23/talend-ci-using-jenkins/
但是当我检查 Talend 安装目录命令行工作区中的 .Java 文件夹时,我可以看到生成了一些文件。 pom.xml 和 pom_routines.xml。但是没有生成与作业相关的文件。
对于那些 pom.xml ,如果我执行 mvn clean install,它只会在目标目录中生成一个 routines.jar 文件。
我无法继续进行。
任何指点都会有所帮助。
如您链接的 Talend 文档的先决条件部分所述,您的作业必须有一个测试用例
Talend Jobs
Jobs containing test cases for Continuous Testing
否则检测不到。
请为您的作业创建 test case,然后重试。
我想强调的一件事是,要使 talend CI builder 正常工作,无需编写测试用例。
我能够通过以下步骤使用 CI 生成器构建作业。
- 在命令行工作中space,您需要保持完整的项目结构。
- 从 Git 检出源文件并将文件复制到项目文件夹。
- 所有源文件都将存在于项目文件夹的进程文件夹中。
- 为 Talend 命令行设置 maven 存储库。它将位于 Talend 文件夹内的配置文件夹内。
- 执行以下命令在命令行工作space内生成源代码。
这里 SayHello 是作业名称。
mvn org.talend:ci.builder:6.4.1:generate -Dcommandline.workspace="D:\ci-builder\commandline_workspace\" -Dcommandline.host=localhost -Dcommandline.port=8002 -Dcommandline.user=dummy@talend.com -DprojectsTargetDirectory=D:\ci-builder\target -DitemFilter=(type=process)and(label%SayHello*)
如果有父子作业,我们需要将所有作业放在一个文件夹中,并且我们需要在生成源代码时引用该路径。
这里Sample是文件夹名
mvn org.talend:ci.builder:6.4.1:generate -Dcommandline.workspace="D:\ci-builder\commandline_workspace\" -Dcommandline.host=localhost -Dcommandline.port=8002 -Dcommandline.user=dummy@talend.com -DprojectsTargetDirectory=D:\ci-builder\target -DitemFilter=(type=process)and(Path%Sample*)
它将生成源文件并保存在"D:\ci-builder\target"
现在导航到该路径并执行 mvn clean package
将构建作业并将其放置在目标文件夹中。它将包含所有相关的 Jar、shell 脚本、批处理脚本以及库和例程。它还将具有整个文件夹结构。
注意:如果您收到类似文件夹中没有作业的消息,请检查 talend 命令行中是否有任何错误 shell。大多数情况下你会遇到,命令行工作中缺少 .Java 文件夹space 或者会出现依赖性错误(maven 本地存储库中缺少 Jars)。
我有一个 Talend studio Enterprise 版本 6.4.1。我已经下载了 CI 构建器并使用以下命令安装了 maven。
mvn install:install-file -Dfile=ci.builder-6.4.1.jar -DpomFile=ci.builder-6.4.1.pom
我已经将作业从 Talend studio 导出到 Git。它包含以下文件。
1) process a) .items b) .properties c).screenshot
2) talend.project
我创建了一个 pom.xml,其中包含以下详细信息
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend</groupId>
<artifactId>buildsources</artifactId>
<version>0.1</version>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.talend</groupId>
<artifactId>ci.builder</artifactId>
<version>6.4.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
我已将 pom.xml 放在命令行工作区的根文件夹中。
我将签出的文件夹放在命令行工作区中。
之后,我在 Talend studio 中执行 commandline.bat 以启动 Talend。
我尝试执行以下命令来生成源文件。
mvn org.talend:ci.builder:6.4.1:generate -X -Dcommandline.workspace="D:\ci-builder\commandline_workspace\TEST" -Dcommandline.host=localhost -Dcommandline.port=8002 -Dcommandline.user=dummy@talend.com -DprojectsTargetDirectory=D:\buildsources\
现在可以找到项目,但最后说找不到工作
[INFO] Preparing for the project: TEST
[INFO] Logon project
[INFO] Generating sources...
[INFO] Logoff project
[WARNING] There's no job in current project!
我正在使用 Windows 机器来测试这个 - Windows 10 64 位。
Maven版本是3.5.3
我已通过以下链接进行此操作。
https://akhileshthipparthi.wordpress.com/2017/01/23/talend-ci-using-jenkins/
但是当我检查 Talend 安装目录命令行工作区中的 .Java 文件夹时,我可以看到生成了一些文件。 pom.xml 和 pom_routines.xml。但是没有生成与作业相关的文件。
对于那些 pom.xml ,如果我执行 mvn clean install,它只会在目标目录中生成一个 routines.jar 文件。
我无法继续进行。
任何指点都会有所帮助。
如您链接的 Talend 文档的先决条件部分所述,您的作业必须有一个测试用例
Talend Jobs
Jobs containing test cases for Continuous Testing
否则检测不到。
请为您的作业创建 test case,然后重试。
我想强调的一件事是,要使 talend CI builder 正常工作,无需编写测试用例。
我能够通过以下步骤使用 CI 生成器构建作业。
- 在命令行工作中space,您需要保持完整的项目结构。
- 从 Git 检出源文件并将文件复制到项目文件夹。
- 所有源文件都将存在于项目文件夹的进程文件夹中。
- 为 Talend 命令行设置 maven 存储库。它将位于 Talend 文件夹内的配置文件夹内。
- 执行以下命令在命令行工作space内生成源代码。
这里 SayHello 是作业名称。mvn org.talend:ci.builder:6.4.1:generate -Dcommandline.workspace="D:\ci-builder\commandline_workspace\" -Dcommandline.host=localhost -Dcommandline.port=8002 -Dcommandline.user=dummy@talend.com -DprojectsTargetDirectory=D:\ci-builder\target -DitemFilter=(type=process)and(label%SayHello*)
如果有父子作业,我们需要将所有作业放在一个文件夹中,并且我们需要在生成源代码时引用该路径。
这里Sample是文件夹名
mvn org.talend:ci.builder:6.4.1:generate -Dcommandline.workspace="D:\ci-builder\commandline_workspace\" -Dcommandline.host=localhost -Dcommandline.port=8002 -Dcommandline.user=dummy@talend.com -DprojectsTargetDirectory=D:\ci-builder\target -DitemFilter=(type=process)and(Path%Sample*)
它将生成源文件并保存在"D:\ci-builder\target"
现在导航到该路径并执行 mvn clean package
将构建作业并将其放置在目标文件夹中。它将包含所有相关的 Jar、shell 脚本、批处理脚本以及库和例程。它还将具有整个文件夹结构。
注意:如果您收到类似文件夹中没有作业的消息,请检查 talend 命令行中是否有任何错误 shell。大多数情况下你会遇到,命令行工作中缺少 .Java 文件夹space 或者会出现依赖性错误(maven 本地存储库中缺少 Jars)。