在Jenkins上分离构建和测试



我有一个angular应用程序,我使用源代码控制(gitlab)开发,我最近将它与jenkins集成,以便每次我推送到我的git时它都会触发构建。在我的jenkins中,我创建了一个作业来构建应用程序(安装依赖项)并运行测试。下面是我的执行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脚本运行器,可以将构建过程中可重复步骤中的无聊部分去掉。

下一步是寻找插件,以更简洁的方式为你完成这些步骤。这就是插件的由来

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

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

npm install
bower install
gulp test

我认为这是你所关心的,因为你只需要在代码发生变化时运行作业,包括本地依赖项。你可以添加第二个shell步骤,只在那里进行测试,因为它将在同一个工作区中运行,但所有的构建日志将在一个地方

你没有说你使用的是哪种测试运行器,但是你可能会发现一个publisher步骤,它会为你把它带到Jenkins中xUnit插件涵盖了很多运行器,所以可能对你有用

这是关于在Jenkins中安装插件的教程

最新更新