여러 언어로 Travis CI를 설정하는 방법
내 프로젝트는 nodejs와 Java를 모두 사용합니다.
node_js 빌드로 시작한 다음 java를 설치하려고 시도했습니다 (npm 모듈이기 때문에)
그러나 Java를 설치하는 스크립트가 실패했으며 Java가 이미 존재하는 빌드가있을 때 설치할 필요가 없다고 생각합니다.
자바 빌드로 시작한 다음 노드를 설치해야합니까?
나는 이것을 시도하고있다
language: java
- oraclejdk8
language: node_js
node_js:
- "0.10"
처음 두 줄을 무시하고 Java 7이 있고 내 프로젝트가 Java 8을 사용하는 node_js 빌드를 빌드합니다.
나는 파이썬에 대해이 대답 을 시도했습니다.
사용
language: node_js
node_js:
- "0.10"
java: oraclejdk8
그러나 그것은 작동하지 않았다
Java 8을 어떻게 추가 할 수 있습니까?
이 matrix:include
기능을 사용하여 하나의 .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:
- yourname@gmail.com
매트릭스의 각 항목을 최상위 구성으로 취급하여이 기능을 사용하여 원하는만큼 다양한 구성을 구축 할 수있는 것 같습니다. 물론 모든 언어에 적용되는 매개 변수를 설정하려는 경우 여기 notifications:email
섹션에서 수행하는 것처럼 최상위 수준에서 수행 할 수 있습니다 .
모든 것이 설정되면 각 빌드에서 다음과 같은 결과를 얻습니다. 팔.
Travis Java 빌드 환경에서 Node.js 런타임 nvm
을 관리하는 데 사용할 수 있습니다 .
.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
.
I used this .yml
:
language: java
jdk:
- oraclejdk8
node_js: "0.10"
install: "npm install"
script: "npm test"
My project has a Python/Django backend and a JS/Vue frontend like below:
├── backend
│ ├── api
│ │ ├── tests
├── daemon
│ ├── frontend
│ │ ├── test
The idea is to run each test suite in a matrix' job, one for Python/Django tests and the other for JS ones:
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
See also
- TravisCI config from my project and TravisCI build
- How do Build Stages work? official doc
You can't add multiple languages, which explains the behavior you are seeing, and the node_js
setting will only be recognized in a node language project. What you can do is utilize the incorporated nvm
in TravisCI. For example, you can include - nvm install 0.10 - nvm use 0.10
in your before_install
section to download the latest v0.10.x release of node.
참고URL : https://stackoverflow.com/questions/27644586/how-to-set-up-travis-ci-with-multiple-languages
'code' 카테고리의 다른 글
pip 및 virtualenv를 시스템 전체에 설치하는 공식 "선호"방법은 무엇입니까? (0) | 2020.09.14 |
---|---|
Log.INFO 대 Log.DEBUG [종료 됨] (0) | 2020.09.14 |
주어진 파일 유형에 대한 영구 : set 구문? (0) | 2020.09.14 |
qt를 설치하지 않고 Linux에서 qt5 앱을 실행하는 동안“플랫폼 플러그인”xcb“”를로드하지 못했습니다. (0) | 2020.09.14 |
내 테스트를 .npm 무시해야합니까? (0) | 2020.09.14 |