continuous-integration - 在 Jenkins 中安排特定的构建目标?

标签 continuous-integration hudson jenkins sonarqube

我工作的小组已经标准化了用于持续集成构建的 Jenkins。代码 checkin 会触发标准构建、Cobertura 分析并发布到 Artifactory SNAPSHOT 存储库。我刚刚完成向主构建文件添加一个新目标,该文件将启动 Sonar 运行,但我不希望它在每次 checkin 时运行。

有没有办法在 Jenkins 中安排特定构建目标的夜间构建? Jenkins 显然促进了计划构建,但它每次都会运行项目的常规构建。我希望能够安排 Sonar 构建目标每晚运行。

当然,我可以创建一个单独的 Jenkins 项目来按计划运行 Sonar 目标,但如果可以的话,我会尽量避免这种情况。我们的 Jenkins 服务器已经有数百个构建版本;为了安排夜间构建而将其加倍并不是很可取。我寻找了一个 Jenkins 插件,它可能会促进这一点,但我找不到任何东西。有什么建议?

最佳答案

这是一种方法,如果您可以使用 cron 触发构建或其他一些调度工具:

  • 进行构建 parameterized ,并使用构建文件中的参数来决定是否应运行 Sonar 构建目标。
  • 通过 HTTP POST 远程触发构建:将参数值作为表单发送到 http://[jenkins-host]/jobs/[jobname]/buildWithParameters .根据您的 Jenkins 版本和配置,您可能需要添加 Authentication Token并将其包含在您的网址中。
  • 使用用户名和密码验证您的 POST。
    wget --auth-no-challenge --http-user=USERNAME --http-password=PASSWORD "https://[jenkins-host]/job/[jobname]/buildWithParameters?token=<token defined in job configuration>&<param>=<value>&<param2>=<value2>"
  • 关于continuous-integration - 在 Jenkins 中安排特定的构建目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7851308/

    相关文章:

    java - Cobertura 仍然跟踪已删除的文件

    jenkins - 我怎样才能让 Jenkins 运行 "pip install"?

    ios - 通过脚本在 Xcode 项目上启用 iCloud

    iphone - 运行 iPhone/iPad 模拟器以实现持续集成

    java - 我可以一次禁用 Hudson 的自动计划构建吗?

    jsf - 如何获取jenkins的内部版本号,svn修订版号...并将其显示在我的JSF页面上?

    tfs - 使用 Team Build 2010 运行 xUnit 测试

    sql - LAMP 与 Hudson : How to run SQL Statement every hour

    java - 如何从 java 代码输出到 Jenkins 控制台?

    angular - Karma 以什么顺序运行测试?