2015-12-02 48 views
0

我们有一个Jenkins服务器,我已经定义了我的工作。它使用Perforce作为SCM。在本地文件上执行jenkins

我想复制Jenkins建立项目所需的所有步骤,而是使用本地工作空间中的文件。基本上,我想根据另一台服务器上定义的作业在本地运行jenkins构建。

我该怎么办?

回答

1

类似于我为我的Perforce用户创建的东西可能适合您 - 我在Jenkins中添加了一个可以抓取搁置文件的工作(因此,用户需要搁置这些文件),然后创建一个构建,然后让用户知道它是否成功(他们也可以选择运行测试或创建可部署的构建)。它的要点是请求搁置的更改列表#,然后执行此操作:“p4 unshelve -s%SHELVEDCL%”并照常进行。当他们觉得喜欢时,他们会使用它;这很有用。但它确实需要访问Jenkins。

+0

感谢这基本上解决了我的本地更改没有提交perforce而构建的基本问题。 – sgarg

+1

我试过了。它很棒!在运行unshelve之前,有人可能想要添加的是“p4 revert // ...”,否则Jenkins工作区与head不同步。 – sgarg

+0

是的,绝对!我发现这很困难。谢谢! – tkosinski

0

1)在你的本地工作站上安装Jenkins(如果你还没有这样做的话)。 2)将/ Jenkins/jobs /目录复制到本地工作站上的/ Jenkins/jobs /目录下。

3)根据需要启动并编辑Perforce工作区(以及任何其他设置)。

+0

有没有更简单的方法来做到这一点,而无需运行我自己的jenkins服务器?就像一些可以一次性运行jenkins作业而无需一直运行服务器的东西? – sgarg

+0

不知道任何关于你的构建环境,我不得不说,它几乎可以完成,而无需运行自己的Jenkins服务器。 Jenkins完全离开图片并将其设置为手动运行。 Jenkins对于做很多事情非常好,但是如果你想要做的只是偶尔的手动构建,为什么还要花费开销呢? – tkosinski

+0

我只是试图在本地执行我们的Jenkins服务器的构建步骤,用于在本地生成开发版本。它基本上是MSBUILD,Nuget在它之前还原,但是存在对我隐藏的工件创建过程。 不应该有一种方法来从jenkins作业生成makefile类的东西吗? – sgarg

0

海事组织,你应该采取下列步骤操作:

  1. 从现有的创建一个新的詹金斯的工作。 2)将作业修改为 作为参数 传递分支名称的字符串“参数化”作业。您可以在 作业的配置中使用“此版本已参数化”选项。 3)在作业配置 (源代码管理部分)中,使用字符串参数变量名称(从上面的#2创建)将Branch Specifier更改为 。 4)在Perforce上创建您的功能分支,并在那里进行预期的更改 。 5)运行您的分支新创建的作业作为参数 。

希望这会有所帮助。

+0

您的答案确实触及了我的问题的最终目的,即构建和测试新功能,但我想知道是否有可能不创建大量分支。 – sgarg

相关问题