【问题标题】:Run multiple Jenkins job concurrently based on parameters根据参数同时运行多个 Jenkins 作业
【发布时间】:2018-05-22 05:42:05
【问题描述】:

所以我有 3 个 Appium/Selenium Junit 类,每个类用于不同的平台(iOS、Android、Web)。我想创建 3 个 Jenkins 作业,然后根据我将以某种方式输入的参数(文件、命令等)并行运行其中的部分或全部。

示例:我想使用特定设备 (UDID) 运行 iOS 和 Android 测试。所以我会以某种方式输入此信息(要运行哪些作业以及使用哪些参数=设备),这两个作业将与此输入同时运行。

我是 Jenkins 初学者,我尝试搜索并发现了许多看起来可以提供帮助的 Jenkins 插件(即参数化触发器插件),但我不明白如何正确使用这些插件(如何配置作业正确使用这些插件)。任何帮助将不胜感激(尽可能“简化”......)

【问题讨论】:

    标签: jenkins jenkins-plugins


    【解决方案1】:

    原来是这样。您可以在 Jenkins 上并行或在多个构建中运行测试。我正在使用 maven、多个 Jenkins 节点、selenium-grid 和一堆其他工具。您可以调用单个 Maven 命令,以便它可以一次运行并行测试,例如。仅移动设备(Android/iOS)和单独构建的 Web 以针对多个浏览器并行运行测试,例如。 (Chrome 和 Firefox...)。

    有几种方法可以实现这一点,但有很多准备和设置:

    1. 通过 java/testNg(xml 测试套件),

    2. 为多个实例设置 selenium-grid, 这是一篇很棒的入门文章:https://www.swtestacademy.com/selenium-parallel-tests-grid-testng/ https://learn.techbeacon.com/units/how-use-testng-parallel-test-execution

    3. (如果用于移动测试)设置 Appium 以运行多个实例,这里也是不错的文章开头:https://appium.io/docs/en/advanced-concepts/parallel-tests/

    4. 有多个 Jenkins 节点,这里有一些内容,请阅读整篇文章:https://wiki.jenkins.io/display/JENKINS/Distributed+builds

    但主要问题是关于 Jenkins,您可以通过创建简单的 Maven 构建、创建您的作业、将其与您在 git 上的代码连接起来、输入 maven 命令来调用您的代码来实现这一点,然后您应该设置好,再一次更多文章:https://developers.perfectomobile.com/pages/viewpage.action?pageId=21435209.

    良好的并行性很难实现,但如果你做到了,它会让你值得投入所有的时间。

    希望对你有帮助!

    【讨论】:

    • 谢谢,但我必须运行 3 个并行 Jenkins 作业(例如,使用 TestNG 或线程无法完成并行工作)。我只需要 3 个将同时运行的独立 Jenkins 作业(在代码中我可以检查它是什么作业并相应地运行正确的代码)。我知道运行一个 Jenkins 作业然后让代码与 TestNG / 线程 / 等进行并行工作会更容易,但我需要并行运行 3 个单独的 Jenkins 作业。
    • 在Jenkins中打开几个节点
    • 有一个解决方案你可以试试:Jenkins 的 Multi-Job 插件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多