簡體   English   中英

我如何確保僅當對包含特定腳本的文件夾進行更改時才觸發travis構建

[英]How can I ensure that a travis build is triggered for a particular script only when changes are made to the folder containing that script

所以在我的倉庫中,我有3個單獨的腳本。 腳本A,腳本B和腳本C。每個腳本位於相應的文件夾A,B,C中。我要配置我的.travis.yml文件,以便僅在文件夾A中有更改的情況下,腳本A才能運行。當文件夾A和B發生更改時,腳本A和B運行。

那么,我可以在文件夾上設置任何travis掛鈎嗎?

編輯:

下面是我的腳本:

language: node_js

node_js: 8.12.0

group: bluezone

services:
  - docker

build_artifacts_service:
  before_install:
    - chmod +x services/artifacts- 
  service/unit_tests/deployment/controller_test.js
    - chmod +x services/artifacts- 
  service/unit_tests/driver/controller_test.js
    - cd services/artifacts-service/

  install:
    - npm install

  script:
    - npm test

  after_success:
    - bash builddocker.sh

  only:
      changes:
        - services/artifacts-service/

build_some_other_service:
  before_install:
    - echo "I was executed"

   only:
     changes:
       - images/endor/  

它不了解.travis.yml文件,因此開始安裝ruby

它在Travis配置中顯示

{
  "language": "ruby",
  "os": "linux",
  "group": "stable",
  "dist": "precise"
}

您可以使這些腳本中的每個腳本作為不同的目標運行,並為其具有一個only-changes塊:

build_a:
  script:
    - ./script_a
  only:
    changes:
      - ./script_a
      - ./folder_a

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM