私のプロジェクトはnodejsとJavaの両方を使用しています
Node_jsビルドから始めて、Java(これはnpmモジュールであるため)をインストールしました
しかし、インストールするスクリプトJavaが失敗しました。さらに、すでに存在するビルドがJavaである場合、インストールする必要はないと思います。
Javaビルドしてノードをインストールしますか?
私はこれを試しています
language: Java
- oraclejdk8
language: node_js
node_js:
- "0.10"
これは、最初の2行を無視し、Java 7で、私のプロジェクトはJava 8を使用するnode_jsビルドをビルドします
私はこれを試しました answer Python
を使用して
language: node_js
node_js:
- "0.10"
Java: oraclejdk8
しかし、それはうまくいきませんでした
Java 8?
これを使用しました.yml
:
language: Java
jdk:
- oraclejdk8
node_js: "0.10"
install: "npm install"
script: "npm test"
matrix:include
機能を使用して、1つの.travis.ymlファイルで複数の言語を実行できるようになりました。例として、私のGithubリポジトリは次のように配置されています。
project/ - top-level github directory
project/backend - Python backend
project/backend/tests - Python tests
project/Android/AppName - Android app
project/ios/AppName - iOS app
Python、Java、Objective-Cでテストを実行する.travis.ymlは次のとおりです。
matrix:
include:
- language: python
python: 2.7
before_script:
- cd backend/tests
script:
- python -m unittest discover
- language: Android
dist: trusty
jdk: oraclejdk8
Android:
components:
- tools
- Android-25
- build-tools-25.0.3
before_script:
- cd Android/AppName
script:
- ./gradlew build connectedCheck
- language: objective-c
os: osx
osx_image: xcode8.3
before_script:
- cd ios/AppName
script:
- xcodebuild -workspace AppName.xcworkspace -scheme AppName
-destination 'platform=iOS Simulator,name=iPhone 7,OS=10.3' build test
notifications:
email:
- [email protected]
マトリックス内の各エントリを最上位の構成として扱うことにより、この機能を使用して好きなだけ多くの構成を構築できるようです。もちろん、すべての言語に適用する設定するパラメーターがある場合は、ここでnotifications:email
セクションで行うように、トップレベルでそれを行うことができます。
すべてのセットアップが完了すると、ビルドごとに次のようになります。ブーム。
Travis Javaビルド環境では、nvm
を使用して Node.js ランタイムを管理できます。
。travis.yml
language: Java
jdk:
- oraclejdk8
env:
- NODE_VERSION="0.12"
before_install:
- nvm install $NODE_VERSION
Nodeバージョンが非常に新しい場合は、nvm
も更新する必要があります。
nvm
を更新するには、.travis.yml
に次のように記述します。
before_install:
- wget https://raw.githubusercontent.com/creationix/nvm/v0.31.0/nvm.sh -O ~/.nvm/nvm.sh
- source ~/.nvm/nvm.sh
- nvm install 5 # for Node v5
- node --version
上記の例は、最初にnvm v0.31
に更新してからNode v5
を取得する方法を示しています。
私のプロジェクトには、以下のようなPython/DjangoバックエンドとJS/Vueフロントエンドがあります。
├── backend
│ ├── api
│ │ ├── tests
├── daemon
│ ├── frontend
│ │ ├── test
アイデアは、各テストスイートを マトリックス 'ジョブ で実行することです。1つはPython/Djangoテスト用、もう1つはJSテスト用です。
matrix:
include:
- language: python
python:
- 3.4
before_install:
- cd backend/
install:
- pip install -r requirements.txt
script:
- python manage.py test
- language: node_js
node_js:
- 4.8
before_install:
- cd daemon/frontend
install:
- yarn install
script:
- yarn test
notifications:
email: false
表示されている動作を説明する複数の言語を追加することはできません。また、node_js
設定は、ノード言語プロジェクトでのみ認識されます。できることは、TravisCIに組み込まれている nvm
を利用することです。たとえば、- nvm install 0.10 - nvm use 0.10
あなたのbefore_install
セクションは、ノードの最新v0.10.xリリースをダウンロードします。