当我在 Jenkins 主屏幕上时,我得到一个指向Create a New Job
. 当我创建一个新工作并将其称为“新工作”并运行它时,我会得到结果。当我查看结果时,我会得到一个链接Back to Project
。当我单击它时,我Project New Job
会在页面顶部看到。
那么在 Jenkins 中,工作和项目是一回事吗?还是名称可以互换使用?
当我在 Jenkins 主屏幕上时,我得到一个指向Create a New Job
. 当我创建一个新工作并将其称为“新工作”并运行它时,我会得到结果。当我查看结果时,我会得到一个链接Back to Project
。当我单击它时,我Project New Job
会在页面顶部看到。
那么在 Jenkins 中,工作和项目是一回事吗?还是名称可以互换使用?
这也让我很困惑,虽然这是一个老问题,但我想我会用他链接的讨论中的一些内容来扩展@Jan 的评论,因为它可能会帮助其他用户。
项目是工作的特例,即所有项目都是工作,但并非所有工作都是项目。
也许将名称扩展到“通用 工作”和“软件构建项目”可能会有所帮助(尽管后者不需要构建软件,它们是针对此用例量身定制的)。
在“新工作”的情况下,詹金斯还不知道新工作是否属于项目子类型。另一方面,一旦您选择创建一个项目,这将尽可能具体地反映在 UI 中(“Project Foo”)。如果您查看“新工作”页面上的准确措辞,您会发现细微的差别(例如,“构建自由风格的软件项目”与“监控外部工作”相对)。
一个不是项目的工作的例子是鲜为人知的“外部工作”,它接收来自 Jenkins 外部发生的事件的通知,但应该在 Jenkins 内部进行跟踪(例如系统重启等)。有关此作业类型的更多信息,请参阅 https://wiki.jenkins-ci.org/display/JENKINS/Monitoring+external+jobs。
作为记录,这是 Jenkins 内部使用的实际类模型(扩展子类在其超类下方缩进):
Job AbstractProject MatrixProject (a.k.a. "multi-configuration project") Project FreeStyleProject MatrixConfiguration (a single configuration of a matrix project) StubJob ViewJob ExternalJob
只有 FreeStyleProject、MatrixProject 和 ExternalJob 在“新工作”页面上可见。
是的,它们的意思完全一样!以下来自詹金斯指南:
设置项目
转到 Jenkins 主页,选择“New Job”,然后选择“Build a free-style software project”。此作业类型由以下元素组成:
看来项目就是工作。实际上当你“创建一个新工作”时,你会看到四种类型的工作,其中三种被描述为“项目”。
Job是一个已弃用的术语,与Project同义。它们都意味着:
用户配置的 Jenkins 应该执行的工作描述,例如构建一个软件等。