使用Jenkins CI而不使用SCM的个人构建

时间:2017-07-29 08:31:23

标签: jenkins

我很好奇是否可以在没有SCM的情况下使用Jenkins CI,以使开发人员能够运行远程个人构建。据我所知,典型的用例是在将更改检入SCM后立即自动触发构建。我想知道是否有人在没有SCM的情况下使用Jenkins?

基本上,我设想开发人员将他更改的代码上传到服务器上的目录,然后通过输入上传代码的位置手动触发构建(例如通过小型Web前端)。这应该类似于在开发机器上执行本地构建。最好还应该省略一些构建步骤或测试,因为它们可能并不总是需要进行一些更改。

使用像git这样的版本控制系统,这可能是通过让开发人员在与主分支集成之前在不同的分支上签入他们的实验性更改来完成的。不幸的是,我们没有一个版本控制系统,可以提供简单无处不在的分支。因此,我要求开发人员将其本地工作空间目录上传到Jenkins服务器的解决方案,以便在将更改提交到主干之前检查构建是否通过。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

我能想到的最简单的方法是创建一个带有文件参数的参数化Jenkins项目,并让开发人员使用它来上传包含需要测试的所有内容的zip文件,然后进行构建解压缩,运行测试并报告项目状态。

项目的步骤基本上是:

  • 选中This project is parameterized复选框
    • 从下拉列表中选择File Parameter,然后填写必填字段。
  • 添加另一个参数(类型取决于您选择的方式),指定要忽略的测试。
  • 擦除之前的测试版本
  • 使用7-zip或类似文件解压缩上传的文件。
  • 运行所有测试并记录构建状态。

然后当用户想要开始构建时,他们可以直接压缩他们的目录,转到Jenkins项目,单击Build with parameters,上传文件,然后就可以了。只要并发构建被禁用(我相信Jenkins的最新版本默认禁用它们,但我不确定),我认为这将满足您的需求,并让每个构建队列像执行一样执行你想要什么。

顺便说一句,我知道这非常你的问题,如果你确实使用git,你可以使用类似this process的东西让Jenkins只将更改推送到稳定版已成功建立的分支。