Конфигурация Yml для сборки и развертывания приложения реакции - PullRequest
0 голосов
/ 20 октября 2018

Я хочу создать файл yml, чтобы предотвратить развертывание моего производственного кода при выполнении новой фиксации в репозитории.

Я хочу, чтобы производственный код создавался и развертывался только в том случае, еслипроизводится прямой толчок к основной ветви .Мой существующий yml config создает и развертывает мои изменения, если я создаю запрос на извлечение - без фактического слияния.Я хочу остановить это.Я хочу, чтобы часть «сборки и развертывания» выполнялась только после того, как был сделан запрос на извлечение, и изменения фактически вставляются в master.

. Вот как выглядит мой текущий файл .travis.yml:

language: node_js
node_js:
  - "8.12"
script: 
  - npm i
  - if [ "$TRAVIS_BRANCH" == "master" ]; then echo "Deploying to firebase";  - CI=false npm run build  fi
install:
  - if [ "$TRAVIS_BRANCH" == "master" ]; then npm i -g firebase-tools; fi
after_success:
  - if [ "$TRAVIS_BRANCH" == "master" ]; then firebase deploy --token "$FIREBASE_TOKEN"; fi 

Я попытался изменить это на что-то более изящное:

language: node_js
node_js:
  - "8.12"

stages: 
  - compile
  - test
  - name: deploy
    if: branch = master AND NOT (type = push OR type = pull_request OR fork = true)
env:
  - CI=false

jobs: 
  include: 
    - stage: compile 
      script: 
        - npm i

    - stage: test
      script: ""

    - stage: deploy
      install: npm i -g firebase-tools
      script: 
        - npm run build
    after_success:
        - firebase deploy --token "$FIREBASE_TOKEN"

, но это недопустимо yml.

Как я могу установить его так, чтобы он развертывался только тогда, когда код фактически был объединен с мастером (и только с ним).Я по-прежнему хочу выполнять тесты и прочее, если в другие ветки создаются изменения, такие как разработка и т. Д.

...