【问题标题】:Jenkins integration test different environmentsJenkins集成测试不同环境
【发布时间】:2014-02-26 17:02:09
【问题描述】:

我有一个项目需要在 windows\linux 上使用这些数据库:oracle\sqlserver。 我们的项目是由 Maven 构建的。

我已经安装了主\从设置的 Jenkins。

主控:windows + sqlserver

奴隶:linux + oracle

用于我们的测试。

Jenkins - Promoting a build to different environments

但这对我真的没有多大帮助。

我还阅读了 Jenkins wiki:https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds

但我还是不知道该怎么做。

由于编译我们的代码需要很多时间,我想只做一次,而不是使用最终结果并在主从环境中进行测试。 仅当他在两种环境中都运行时,才能构建成功

我还注意到,我无法在 jenkins 调用“发布步骤”来执行此操作。我没有找到任何可以真正帮助在从属设备上进行部署和测试的插件。

我在某处读到,也许我应该把它分成 3 个工作而不是使用一个工作。 第一个作业编译,然后其他作业正在运行集成测试。 你可以看看:http://zeroturnaround.com/rebellabs/the-correct-way-to-use-integration-tests-in-your-build-process/

我希望你能告诉我应该怎么做。

谢谢

【问题讨论】:

    标签: maven jenkins continuous-integration


    【解决方案1】:

    我会按如下方式拆分构建:

    1. Job 1 编译代码、运行单元测试并构建您的可部署工件(由于您使用的是 Maven,我假设您有一个 JAR 或 WAR 文件)
    2. 作业 2 部署并运行工件 - 您可以使用 build parameters 指定特定于环境的标准。
    3. 作业 3 运行集成测试并报告结果。

    【讨论】:

    • 我没有从您的回答中得知应该有多少工作以及每个工作应该做什么。您是说作业 1- 编译和创建工件作业 2- 将工件部署到存储库作业 3 - 在 sqlserver+windows(主机)上运行集成 作业 4 - 在 oracle +linux(从机)上运行集成测试
    • 您可以按照您的建议创建 4 个作业,但如果 SQL Server 和 Oracle 的部署和测试运行逻辑相似(例如,只是运行测试的主机名不同),您可以使用使用参数表示环境差异的单个作业。
    猜你喜欢
    • 2018-03-22
    • 2017-11-21
    • 2016-06-28
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    • 2016-10-27
    • 2021-01-05
    • 1970-01-01
    相关资源
    最近更新 更多