Jenkins CI

Jenkins CI 是当今市场上最流行的持续集成服务器之一。在开发您的 AngularJS 项目(希望是在早期)时,您可能希望让自动化测试从您的代码版本控制系统中运行。Jenkins 将帮助您完成此任务。本教程假设您已在您的 CI 环境中设置并运行了 Jenkins。

安装先决条件 #

您需要在 Jenkins CI 服务器上安装以下工具

  • Node
  • Karma

以下 Jenkins 插件是可选的,但接下来的指南是基于它的

  • EnvInject - 在某些 Linux 发行版和用户权限下,它使事情变得更容易。

配置 Karma #

根据需要对您的 karma.conf.js 文件进行以下添加和更改

singleRun: true,
reporters: ['dots', 'junit'],
junitReporter: {
  outputFile: 'test-results.xml'
},

请注意,test-results.xml 文件将写入以测试运行所在的浏览器命名的子目录中,位于当前工作目录中(并且您需要告诉 Jenkins 在哪里找到它们)。

创建一个新的 Jenkins 作业 #

在 Jenkins 中,使用基本设置(名称、描述、参数、要从中提取的源代码仓库等)启动一个新的 Angular/Karma 作业。

配置构建环境 #

首先转到作业页面并单击配置。然后在“构建环境”子部分中,选中“将环境变量注入构建过程”复选框。将出现一些文本框,在“属性内容”框中设置以下内容

$ PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
$ PHANTOMJS_BIN=/usr/local/bin/phantomjs #or wherever PhantomJS happens to be installed

在页面下方,“构建后操作”子部分中,从“构建后操作”下拉菜单中添加一个发布 JUnit 测试结果报告。当出现名为“测试报告 XML”的文本框时,输入 test-results.xml 文件相对于 Jenkins 作业工作区根目录的路径(您可以为此使用通配符,因此 **/test-results.xml 即使文件存储在特定于浏览器的子目录中,也能找到它)。