2016-02-16 23 views
4

有沒有什麼辦法可以只有在部署中運行travis中的矩陣構建?現在我們使用相同的.travis.yml文件進行測試和部署,並且在這兩種情況下都會觸發矩陣構建(因此有兩名工作人員)。我無法找到一種方法,只在我們正在部署的情況下運行構建,而不是在運行測試時(或者在部署過程中只使用矩陣)。我希望這樣做的主要原因是,當創建PR時我不會觸發額外的構建,我只需要測試構建即可運行。僅在部署時使用Travis中的矩陣構建

我也找不到一個簡單的方法,我們可以爲npm install/npm測試運行單個構建,然後分離兩個單獨的工作人員/「部署」過程的矩陣,這也可以解決問題。

這是我目前的.travis.yml文件的剪斷:

language: node_js 
node_js: 4.2.1 
env: 
    global: 
    - APP_NAME=example 
    matrix: 
    - CF_DOMAIN=example1.net CF_TARGET=https://target1.com APP_NAME=${APP_NAME}-1 
    - CF_DOMAIN=example2.net CF_TARGET=https://target2.com APP_NAME=${APP_NAME}-2 

branches: 
    only: 
    - master 
deploy: 
- provider: script 
    skip_cleanup: true 
    script: node_modules/.bin/deploy.sh 
    on: 
    branch: master 

它也可能爲我們工作,只運行一個矩陣建立在push鉤,但不是在pr

回答

1

在Travis的GitHub上發佈了類似的問題。有人建議使用兩個單獨的.travis.yml文件。

https://github.com/travis-ci/travis-ci/issues/2778

+0

右鍵,在兩個分支兩種配置將部署到兩個不同的地方,並可能有不同的行爲,但我不希望有兩個不同的配置文件一起保持同一段代碼在兩個地方。我期望可以有一個配置文件來指示矩陣構建應該作爲「push」的一部分運行,而不是作爲「pr」的一部分運行。 –