在 Jenkins 上分离构建和测试

Separating a Build and Test on Jenkins

我有一个 angular 应用程序,我使用当然的源代码控制 (gitlab) 开发它,我最近将它与 jenkins 集成,这样每次我推送到我的 git 它都会触发一个构建。在我的詹金斯中,我创建了一个几乎可以构建应用程序(安装依赖项)和 运行s 测试的工作。以下是我的执行 shell 在我的工作中的样子。

export npm_config_prefix=.npm/
export PATH=.npm/bin:$PATH
npm install -g bower grunt-cli
npm install
bower install
gulp test

现在的问题是我不想将构建和 运行 测试作为同一步骤进行,我希望它们分开。那么我该如何实现呢?我要创建一个新作业并在新作业的执行 shell 中添加 gulp test 吗?或者还有其他方法。我是 jenkins 的新手,一般来说 CI 所以想知道在这种情况下应该采取什么方法?

正如您所发现的,Jenkins 是一个超级高级的 shell 脚本 运行ner,可以从构建过程中的可重复步骤中去除无聊的部分。

下一步是寻找插件,以更简洁的方式为您完成这些步骤。这是插件的用武之地

这是一个 Node Plugin,它将在作业之外安装 npm 包,因此您不必在每个作业中都执行 npm install -g 步骤

您希望将构建步骤保持为 shell

npm install
bower install
gulp test

我认为这是您关心的问题,因为如果代码已更改(包括本地依赖项),您只需要 运行 作业。您可以添加第二个 shell 步骤,只在其中进行测试,因为它将 运行 在同一工作区中,但所有构建日志都将在一个地方

您没有说明您使用的是什么测试 运行,但您可能会找到一个发布者步骤,它将为您将其引入 Jenkins xUnit plugin 涵盖了很多 运行 ners 所以可能适合你

这是关于 installing plugins 进入 Jenkins

的教程