Travis CI QUnit 构建因 jQuery 上的 ReferenceError 失败

Travis CI QUnit build fail with ReferenceError on jQuery

我的节点 QUnit Travis CI 构建(请参阅 .travis.yml) fail miserably 并出现此错误:

Running "qunit:files" (qunit) task
Testing test/unit/iframeTracker-jQuery1.html FF
   global failure
   Message: ReferenceError: Can't find variable: jQuery
   file:///home/travis/build/vincepare/iframeTracker-jquery/src/jquery.iframetracker.js:184

QUnit测试代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.3.3.css">
</head>
<body>
    <div id="qunit"></div>
    <div id="qunit-fixture">
        <!-- ... (some iframe) -->
    </div>
    <script src="https://code.jquery.com/qunit/qunit-2.3.3.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script src="../../src/jquery.iframetracker.js"></script>
    <script src="iframeTracker_test.js"></script>
</body>
</html>

我不明白为什么,因为它工作正常 in the browser 并且在本地节点内(在 Windows 和 Linux/Docker 上测试):

docker run -ti --rm -v "$(pwd):/app" -w /app node:9 npm install
docker run -ti --rm -v "$(pwd):/app" -w /app node:9 npm test

我怀疑 CDN(code.jquery.comajax.googleapis.com)对这个问题负责(我不知道 travis 构建环境是否可以访问互联网)但我发现了一些 jQuery/QUnit 构建(使用 similar setup and using CDN) that works : https://travis-ci.org/fengyuanchen/cropper/builds/314789410

任何人都可以向我解释我的构建有什么问题吗?

ajax.googleapis.com 切换到 code.jquery.com CDN 解决了​​ Travis CI 构建。

我没有在 Travis CI 文档和问题跟踪器中找到任何关于此的官方信息,但似乎 Travis 构建环境有一些网络限制。如果能从 Travis 工作人员那里引用一些内容就好了,例如允许或拒绝的 CDN 列表。