【问题标题】:Jenkins and Deployment詹金斯和部署
【发布时间】:2014-03-14 11:28:06
【问题描述】:

最近开始使用 Jenkins

我有几个相同的问题..

我知道 Jenkins 可用于创建构建、运行测试,但我们可以使用 Jenkins 进行部署吗(我知道它的 )。

我的问题是,
对于部署构建,每次我们部署构建时都会对属性文件进行一些更改,那么如何使用 Jenkins 来实现呢?这可能吗?

我的 Selenium 测试用例如何与 JENKINS 集成?

【问题讨论】:

    标签: selenium jenkins


    【解决方案1】:

    Jenkins 无法做到这一点。您可以使用部署脚本(由 Jenkins 触发)来实现。

    【讨论】:

    • 是的..正确。生成 .war 后,我需要停止服务器,将 .war 文件放在指定路径中并重新启动服务器。这可以使用 Jenkins 完成吗?
    • 再一次,Jenkins 只是执行您告诉它执行的内容。在大多数情况下,有责任编写部署脚本(bash、batch、python等)。特别是对于简单的 .war 文件,有一个 Deploy 插件可用。您可以为其他工件找到类似的插件。但是对于任何自定义功能,您必须编写自己的部署脚本。在您的情况下,对属性文件的更改是一项自定义功能,需要编写您自己的部署脚本。
    • 酷。所以这都是关于 Shell 脚本或 Windows 批处理命令来完成我上面提到的所有工作的。我说的对吗
    • @METIsatish 对于特定情况,例如更改您的情况下的属性,是的。如果它是一个简单的“获取文件并放在那里”,那么就有插件,比如我已经提到的Deploy 插件。
    • 谢谢... .war 文件正在生成,.war 文件的放置将很快实现。部署构建后如何运行我的 Selenium Webdriver 测试用例?有没有后期构建插件??
    【解决方案2】:

    Jenkins 执行任务,所以如果你想自动部署你的 webapp,你应该制作一个脚本,将战争复制到 webapp 目录/服务器。

    我个人使用 jenkins 在我的集成服务器上进行部署。 我不使用 jenkins 进行生产。

    关于 Selenium,它可以通过 selenium 服务器独立和无头来实现。

    * 让它工作真的很痛苦,但我设法做到了: * xvnc(无头) * 使用 shell 脚本调用 selenium 服务器(该插件不适用于我)

    我的 jenkins 脚本命令类似于:

    vncserver :6
    export DISPLAY=:6
    
    
    java -jar /var/lib/selenium/selenium-server.jar -trustAllSSLCertificates -acceptSslCerts -ensureCleanSession -htmlSuite "*chrome" "$URLStart" "$suiteTestFile" "$resultTestFile" -port 7856
    
    
    vncserver -kill :6
    

    $suiteTestFile 是您的 HtmlSuite 和 *resultTestFile 是你的输出html

    然后,为了报告目的,使用 jenkins htmlreport 插件。

    此外,您不必停止 tomcat 服务器来部署 webapp,tomcat 会自动部署所有 WAR 文件。

    【讨论】:

    • 对我来说,用 firefox 运行 selenium headless 是行不通的。我使用 EC2 / Ubuntu 14
    • 太酷了。我的 Jenkins 服务器在 Linux 机器上运行,我的 Selenium 脚本在 Windows 上。你能告诉我如何使用 testng.xml 开始 Selenium 执行吗?我可以通过安装在 Linux 上的 Jenkins 访问我的 Windows 驱动器吗??
    猜你喜欢
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    相关资源
    最近更新 更多