1

我认为我的问题与这些问题有关,但解决方案在我的情况下不起作用:如何在 Travis CI 的一个项目中运行 Node.js 和 Ruby 测试以及是否可以设置 travis 来运行多种语言的测试?

我有一个 github 存储库,其中包含一个带有小型 Angularjs 前端的小 Golang 应用程序。我想同时运行 go-tests 和 Karma-tests。我看到两个选项:

  1. 为一个 repo 运行两个 travis-ci 构建(我不知道该怎么做)

  2. 在一个构建中运行两个测试(由于 travis-ci 中的节点版本太旧(0.10),因此无法正常工作。

构建运行了 60 多分钟,然后以“致命错误:CALL_AND_RETRY_2 分配失败 - 进程内存不足”停止。该构建显示了大量类似这样的警告:npm WARN engine escodegen@1.8.0: Wanted: {"node":">=0.12.0"} (current: {"node":"0.10.36","npm ":"1.4.28"})

我尝试以node_js运行构建,但随后“go get xyz”不起作用。

我的.travis.yml文件:

language: go

go:
  - 1.5

env:
  - TRAVIS_NODE_VERSION="0.12"

install:
  - export PATH=$HOME/gopath/bin:$PATH
  - go get golang.org/x/tools/cmd/cover
  - go get -v github.com/axw/gocov
  - go install github.com/axw/gocov/gocov
  - go get github.com/GeertJohan/go.rice
  # we do not need the rice tool!
  - go get github.com/xeipuuv/gojsonschema
  - go get github.com/finklabs/ttime
  - go get github.com/finklabs/graceful
  - go get github.com/gorilla/mux

before_script:
  - npm install bower
  - npm install --dev
  - bower install

script:
  - gocov test | gocov report
  - npm test
4

2 回答 2

1

有时问题出在机器前面...我找到了一个很好的解决方法,我想与您分享。

我在设置选项卡中的https://drone.io/上创建了一个帐户,我为“Go1”选择了一个构建并添加了以下命令:

# install gogrinder dependencies
go get ./...

# install test dependencies
go get golang.org/x/tools/cmd/cover
go get -v github.com/axw/gocov
go install github.com/axw/gocov/gocov

# install nodejs requirements
npm -d install
./node_modules/bower/bin/bower install

# run the tests on the go code
gocov test | gocov report

# run the tests on the Angularjs frontend
npm test

现在我回到了运行 Golang 和 Karma 测试的 CI 服务器的轨道上。

于 2016-01-13T17:59:23.727 回答
1

很久以前,我在http://entulho.fiatjaf.alhur.es/guias/how-to-use-node-along-with-other-language-on-travis-ci/上给出了一个解决方案,但它今天仍然有效:

基本上你只需添加

install:
  - . $HOME/.nvm/nvm.sh
  - nvm install stable
  - nvm use stable
  - npm install

到您的.travis.yml,必须设置为不同的语言,它将安装nodenpm.

于 2017-03-30T00:38:59.653 回答