0

我正在尝试使用 GitLab 中的 CI/CD 为 SAPUI5 应用程序设置 CI 管道。

我决定使用以下工具:

  • UI5 工具
  • UIVeri5
  • 业力

到目前为止,使用 UI5 Tooling 的构建是成功的。很可能我在测试部分有问题。

请查看以下文件:

  1. .gitlab-ci.yml

    image: geertjanklaps/node-cf-cli:latest
    cache:
      paths:
        - node_modules/
    stages:
      - test
      - build
    ESLint:
      stage: test
      before_script:
        - npm install
        - npm install --global @ui5/uiveri5
        - npm install -g karma-cli
        - npm install --save-dev karma karma-ui5
        - npm install --save-dev karma-chrome-launcher
      script:
        - karma start --singleRun=true
    #Build MTA File:
      stage: build
      before_script:
        - npm install --global @ui5/cli
      script:
        - ui5 build --all
      only:
        - master
    
  2. karma.conf.js

    module.exports = function(config) {
      config.set({
       frameworks: [ "ui5" ],
       ui5: {
         mode: "script",
         tests: [ "webapp/test/" ]
       },
       browsers: [ "MyHeadlessChrome" ],
       singleRun: true,
       customLaunchers: {
         MyHeadlessChrome: {
           base: 'ChromeHeadless',
           flags: [
             '--disable-translate',
             '--disable-extensions',
             '--remote-debugging-port=9223',
             '--no-sandbox'
           ]
         },
       },
     });
    };
    

如需更深入的分析,请在此处查看我的 repo 。

现在解决问题

作业停止并显示以下信息:

ReferenceError: sap 未定义
在 node_modules/karma-ui5/lib/client/autorun.js:16:2
在 node_modules/karma-ui5/lib/client/autorun.js:22:3

请查看完整的工作日志以获取更多信息:

[0KRunning with gitlab-runner 13.5.0-rc2 (71c90c86)
[0;m[0K  on docker-auto-scale fa6cab46
[0;msection_start:1603897730:resolve_secrets
[0K[0K[36;1mResolving secrets[0;m
[0;msection_end:1603897730:resolve_secrets
[0Ksection_start:1603897730:prepare_executor
[0K[0K[36;1mPreparing the "docker+machine" executor[0;m
[0;m[0KUsing Docker executor with image geertjanklaps/node-cf-cli:latest ...
[0;m[0KPulling docker image geertjanklaps/node-cf-cli:latest ...
[0;m[0KUsing docker image sha256:4d8a2c0623c41c1b33b2d9505d88a0712615ca0dc12b1deb05ea5f9ebfb43757 for geertjanklaps/node-cf-cli:latest with digest geertjanklaps/node-cf-cli@sha256:6bc976fbfae34d9d982b39331bfd842518e28da02cfacf76a2c83bab67ffb31b ...
[0;msection_end:1603897771:prepare_executor
[0Ksection_start:1603897771:prepare_script
[0K[0K[36;1mPreparing environment[0;m
[0;mRunning on runner-fa6cab46-project-22032692-concurrent-0 via runner-fa6cab46-srm-1603897681-955e55b1...
section_end:1603897774:prepare_script
[0Ksection_start:1603897774:get_sources
[0K[0K[36;1mGetting source from Git repository[0;m
[0;m[32;1m$ eval "$CI_PRE_CLONE_SCRIPT"[0;m
[32;1mFetching changes with git depth set to 50...[0;m
Initialized empty Git repository in /builds/MarvinsRoom/testproject-1/.git/
[32;1mCreated fresh repository.[0;m
[32;1mChecking out 2cde8a5a as master...[0;m

[32;1mSkipping Git submodules setup[0;m
section_end:1603897776:get_sources
[0Ksection_start:1603897776:restore_cache
[0K[0K[36;1mRestoring cache[0;m
[0;m[32;1mChecking cache for default...[0;m
Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/22032692/default[0;m 
[32;1mSuccessfully extracted cache[0;m
section_end:1603897777:restore_cache
[0Ksection_start:1603897777:step_script
[0K[0K[36;1mExecuting "step_script" stage of the job script[0;m
[0;m[32;1m$ npm install[0;m
npm WARN deprecated http2@3.3.7: Use the built-in module in node 9.0.0 or newer, instead
npm WARN deprecated istanbul@0.4.5: This module is no longer maintained, try this instead:
npm WARN deprecated   npm i nyc
npm WARN deprecated Visit https://istanbul.js.org/integrations for other alternatives.
npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated nodemailer@2.7.2: All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
npm WARN deprecated samsam@1.3.0: This package has been deprecated in favour of @sinonjs/samsam
npm WARN deprecated uws@9.14.0: New code is available at github.com/uNetworking/uWebSockets.js
npm WARN deprecated request@2.75.0: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated mailcomposer@4.0.1: This project is unmaintained
npm WARN deprecated socks@1.1.9: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
npm WARN deprecated har-validator@2.0.6: this library is no longer supported
npm WARN deprecated hawk@3.1.3: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated buildmail@4.0.1: This project is unmaintained
npm WARN deprecated hoek@2.16.3: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated sntp@1.0.9: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated boom@2.10.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated cryptiles@2.0.5: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).

> uws@9.14.0 install /builds/MarvinsRoom/testproject-1/node_modules/uws
> node-gyp rebuild > build_log.txt 2>&1 || exit 0


> core-js@2.6.11 postinstall /builds/MarvinsRoom/testproject-1/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"


> sinon@4.4.8 postinstall /builds/MarvinsRoom/testproject-1/node_modules/sinon
> node scripts/support-sinon.js

Have some â¤ï¸  for Sinon? You can support the project via Open Collective:
 > https://opencollective.com/sinon/donate

npm WARN notsup Unsupported engine for http2@3.3.7: wanted: {"node":">=0.12.0 <9.0.0"} (current: {"node":"12.16.1","npm":"6.14.1"})
npm WARN notsup Not compatible with your version of node/npm: http2@3.3.7
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 944 packages from 1379 contributors and audited 940 packages in 42.322s

2 packages are looking for funding
  run `npm fund` for details

found 116 vulnerabilities (52 low, 20 moderate, 44 high)
  run `npm audit fix` to fix them, or `npm audit` for details
[32;1m$ npm install --global @ui5/uiveri5[0;m
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
/usr/bin/uiveri5 -> /usr/lib/node_modules/@ui5/uiveri5/bin/uiveri5
+ @ui5/uiveri5@1.45.1
added 182 packages from 231 contributors in 9.259s
[32;1m$ npm install -g karma-cli[0;m
/usr/bin/karma -> /usr/lib/node_modules/karma-cli/bin/karma
+ karma-cli@2.0.0
added 6 packages from 21 contributors in 0.74s
[32;1m$ npm install --save-dev karma karma-ui5[0;m
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated nodemailer@2.7.2: All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated request@2.75.0: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@2.0.6: this library is no longer supported
npm WARN deprecated hawk@3.1.3: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated hoek@2.16.3: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated boom@2.10.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated sntp@1.0.9: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated cryptiles@2.0.5: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated socks@1.1.9: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
npm WARN deprecated mailcomposer@4.0.1: This project is unmaintained
npm WARN deprecated buildmail@4.0.1: This project is unmaintained
npm WARN deprecated uws@9.14.0: New code is available at github.com/uNetworking/uWebSockets.js
npm WARN rm not removing /builds/MarvinsRoom/testproject-1/node_modules/.bin/uuid as it wasn't installed by /builds/MarvinsRoom/testproject-1/node_modules/node-uuid
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/@sap/grunt-sapui5-bestpractice-test/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

+ karma@5.2.3
+ karma-ui5@2.3.1
added 445 packages from 660 contributors, removed 14 packages, updated 38 packages, moved 27 packages and audited 1376 packages in 32.8s

32 packages are looking for funding
  run `npm fund` for details

found 127 vulnerabilities (64 low, 20 moderate, 43 high)
  run `npm audit fix` to fix them, or `npm audit` for details
[32;1m$ npm install --save-dev karma-chrome-launcher[0;m
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/@sap/grunt-sapui5-bestpractice-test/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

+ karma-chrome-launcher@3.1.0
added 2 packages from 29 contributors, updated 1 package and audited 1378 packages in 12.365s

34 packages are looking for funding
  run `npm fund` for details

found 127 vulnerabilities (64 low, 20 moderate, 43 high)
  run `npm audit fix` to fix them, or `npm audit` for details
[32;1m$ karma start --singleRun=true[0;m
[32m28 10 2020 15:11:21.695:INFO [karma-server]: [39mKarma v5.2.3 server started at http://localhost:9876/
[32m28 10 2020 15:11:21.698:INFO [launcher]: [39mLaunching browsers MyHeadlessChrome with concurrency unlimited
[32m28 10 2020 15:11:21.702:INFO [launcher]: [39mStarting browser ChromeHeadless
[32m28 10 2020 15:11:22.071:INFO [Chromium 80.0.3987.87 (Ubuntu 0.0.0)]: [39mConnected on socket PNW35HCgiwnOH-7cAAAA with id 80702627
[33m28 10 2020 15:11:22.137:WARN [web-server]: [39m404: /resources/sap-ui-core.js
[31mChromium 80.0.3987.87 (Ubuntu 0.0.0) ERROR[39m
  Uncaught ReferenceError: sap is not defined
  at node_modules/karma-ui5/lib/client/autorun.js:16:2
  
  ReferenceError: sap is not defined
      at node_modules/karma-ui5/lib/client/autorun.js:16:2
      at node_modules/karma-ui5/lib/client/autorun.js:22:3


section_end:1603897883:step_script
[0Ksection_start:1603897883:cleanup_file_variables
[0K[0K[36;1mCleaning up file based variables[0;m
[0;msection_end:1603897885:cleanup_file_variables
[0K[31;1mERROR: Job failed: exit code 1
[0;m
4

1 回答 1

1

您是否karma-ci.conf.js根据https://github.com/SAP/karma-ui5进行了配置?

它应该看起来像:

module.exports = function(config) {
  config.set({
    frameworks: ["ui5", "qunit", "sinon"],
    ui5: {
      url: "https://openui5.hana.ondemand.com",
      mode: "script",
      config: {
        async: true,
        resourceRoots: {
          "sap.ui.demo.todo": "./base/webapp"
        }
      },
      tests: [
        "sap/ui/demo/todo/test/unit/AllTests"
      ]
    },
    browsers: [ "Chrome" ]
  });
};
于 2020-11-03T10:16:57.617 回答