如何 运行 在 Travis CI 上的一个项目中测试 Golang 和 Karma
How to run Golang and Karma tests within one project on Travis CI
我认为我的问题与这些问题有关,但解决方案对我的情况不起作用: and Is it possible to set up travis to run tests for several languages?
我有一个 github 存储库,其中包含一个带有小型 Angularjs 前端的小 Golang 应用程序。我想 运行 go-tests 和 Karma-tests。
我看到两个选项:
运行 两个 travis-ci 为一个 repo 构建(我不知道如何
这样做)
运行 一次构建中的两个测试(由于 travis-ci 中的节点版本太旧(0.10)而无法正常工作)。
构建 运行 超过 60 分钟,然后在 "FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory" 处停止。构建显示了大量这样的警告: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
有时问题出在机器前面...我找到了一个很好的解决方法,我想与您分享。
我在 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 服务器。
很久以前我在 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
,它必须设置为不同的语言,它将安装 node
和 npm
。
我认为我的问题与这些问题有关,但解决方案对我的情况不起作用:
我有一个 github 存储库,其中包含一个带有小型 Angularjs 前端的小 Golang 应用程序。我想 运行 go-tests 和 Karma-tests。 我看到两个选项:
运行 两个 travis-ci 为一个 repo 构建(我不知道如何 这样做)
运行 一次构建中的两个测试(由于 travis-ci 中的节点版本太旧(0.10)而无法正常工作)。
构建 运行 超过 60 分钟,然后在 "FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory" 处停止。构建显示了大量这样的警告: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
有时问题出在机器前面...我找到了一个很好的解决方法,我想与您分享。
我在 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 服务器。
很久以前我在 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
,它必须设置为不同的语言,它将安装 node
和 npm
。