我有一个角度应用程序,我使用源代码控制(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的新手,所以想知道在这种情况下会采取什么方法?
答案 0 :(得分:0)
正如您所发现的,Jenkins是一个超级高级的shell脚本运行器,可以在构建过程中从可重复的步骤中获取无聊的部分。
下一步是寻找插件,以更清洁的方式为您完成这些步骤。这就是插件进入的地方
这是一个Node Plugin,它会在作业之外安装npm包,因此您不必在每个作业中执行npm install -g
步骤
您希望将构建步骤保持为shell
npm install
bower install
gulp test
我认为这是您关注的问题,因为如果代码已更改(包括本地依赖项),您只需要运行该作业。您可以添加第二个shell步骤,只需在那里进行测试,因为它将在同一工作区中运行,但所有构建日志将在一个位置
你没有说出你使用的测试跑步者,但是你可能会找到一个发布者步骤,它将为你带来Jenkins xUnit plugin覆盖了不少跑步者,所以可能适合你
这是Jenkins的installing plugins教程