Как я могу гарантировать, что сборка travis запускается для определенного сценария только при внесении изменений в папку, содержащую этот сценарий - PullRequest
1 голос
/ 07 июля 2019

Итак, в моем репо у меня есть 3 отдельных сценария. Сценарий A, сценарий B и сценарий C. Каждый сценарий находится в соответствующих папках A, B, C. Я хочу настроить мой файл .travis.yml таким образом, чтобы скрипт A выполнялся, только когда есть изменения в папке A. ИЛИ Сценарий A и B запускаются, когда есть изменения в папках A и B.

Так есть ли какие-нибудь крючки travis, которые я могу установить для папок?

Edit:

Ниже мой сценарий:

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"
}

1 Ответ

0 голосов
/ 08 июля 2019

Вы можете запускать каждый из этих сценариев как отдельную цель и иметь для нее блок единственных изменений:

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