与 Talend 和 Jenkins/Maven 的持续集成

尼玛拉吉17

我有一个 Talend studio Enterprise 版本 6.4.1。我已经下载了 CI builder 并使用以下命令安装了 maven。

mvn install:install-file -Dfile=ci.builder-6.4.1.jar -DpomFile=ci.builder-6.4.1.pom

我已将 Talend 工作室的作业导出到 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 [email protected] -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://community.talend.com/t5/Architecture-Best-Practices-and/Continuous-Integration-with-Talend-CI-Builder-6-3/ta-p/33033

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 文件。

我无法继续。

任何指针都会有所帮助。

尼玛拉吉17

我想强调的一件事是,要使 talend CI builder 工作,无需编写测试用例。

我能够通过以下步骤使用 CI 构建器构建作业。

  1. 在命令行工作空间内,您需要保留完整的项目结构。
  2. 从 Git 检出源文件并将文件复制到项目文件夹。
  3. 所有源文件都将出现在项目文件夹的进程文件夹中。
  4. 为 Talend 命令行设置 Maven 存储库。它将位于 Talend 文件夹内的配置文件夹内。
  5. 执行以下命令以在命令行工作区中生成源代码。
    这里 SayHello 是作业名称。

    mvn org.talend:ci.builder:6.4.1:generate -Dcommandline.workspace="D:\ci-builder\commandline_workspace\" -Dcommandline.host=localhost -Dcommandline.port=8002 [email protected] .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 [email protected] .com -DprojectsTargetDirectory=D:\ci-builder\target -DitemFilter=(type=process)and(Path%Sample*)

  1. 它将生成源文件并将其保存在“D:\ci-builder\target”中

  2. 现在导航到该路径并执行mvn clean package

  3. 将构建作业并将其放置在目标文件夹中。它将包含所有相关的 Jar、shell 脚本、批处理脚本以及库和例程。它还将具有整个文件夹结构。

注意:如果您收到类似文件夹中没有作业的消息,只需检查 talend 命令行 shell 中是否有任何错误。大多数情况下,您可能会遇到,命令行工作区中缺少 .Java 文件夹,或者会出现依赖项错误(maven 本地存储库中缺少 Jars)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python的“漂亮”持续集成

Golang和Gitlab持续集成

TFS和golang持续集成

在将Jenkins / Hudson用作iOS和Mac开发的持续集成时,缺少钥匙串中的证书和密钥

与Android持续集成[Codeship]

与Phabricator持续集成(CI)?

测试,问题跟踪,持续集成-适用于GAE和Android应用的推荐标准工具

远程代理与本地代理进行持续集成和部署

持续集成,持续交付和DevOps之间有什么区别?

Xcode服务器持续集成和git lfs

在持续集成和连续部署中,构建代理的目的是什么?

SQL Server数据库单元测试和持续集成

如果可以在预提交和预推送git钩子上进行测试,为什么还要进行持续集成测试?

持续集成

如何进行代码接收和Gitlab CI(持续集成)

测试和持续集成

如何在GitLab的持续集成中添加Stack和GHC?

持续集成服务器是否应该经历自己的开发和登台周期?

在VSO和Azure中进行持续集成和NuGet还原

通过持续集成来构建依赖关系和本地构建

如何在持续集成中捆绑和最小化javascript(jenkins)

与Packer和Vagrant的持续交付或持续集成工作流程

Xamarin.Android与TFS 2013的持续集成和测试

设置与Docker Cloud和Spring Boot的持续集成

Domino Xpage 数据库构建自动化或使用 Jenkins 和 maven 的持续集成。

为 Microsoft 应用程序设置持续集成和持续部署

Springboot 应用程序的持续集成、交付和部署

Github 是否被认为是持续集成?如果不是,Github 和持续集成有什么区别?

PostgreSQL - 持续集成