Выполнять скрипт, только если ветка является главной в TravisCI - PullRequest
1 голос
/ 25 февраля 2020

Я новичок в TravisCI, и это может быть очень глупый вопрос, но я пытаюсь написать конфигурацию travis таким образом, чтобы он развертывался только в Firebase, когда текущая ветка master. То есть, только когда код передается мастеру или когда PR объединяется с мастером, команда firebase deploy выполняется. Команда развертывания должна быть , а не , которая должна выполняться, когда другие ветви передаются или когда создаются PR. Вот что у меня есть:

language: node_js
node_js: 12.16.1
script: echo "Running travis-ci"
install: 
  - npm install -g firebase-tools
  - npm i react-scripts
script:
  - yarn add react
  - yarn test
  - if [ "$TRAVIS_BRANCH" = "master" ]; then yarn build; fi
  - if [ "$TRAVIS_BRANCH" = "master" ]; then firebase deploy --project testproj8876 --token $FIREBASE_TOKEN; fi
branches:
  only:
    - master

Поскольку я еще не слишком знаком с конвенциями, любые улучшения / предложения также будут высоко оценены.

1 Ответ

1 голос
/ 04 марта 2020

Google Firebase поддерживается непосредственно Travis. См. здесь .

Таким образом, я рекомендую использовать решение, описанное в ссылке выше.

deploy:
  provider: firebase
  token:
   secure: "YOUR ENCRYPTED token"

Что касается вашего состояния, вы можете проверить один из моих .travis .yml файл здесь и документация там (условное развертывание)

Следующая часть - это то, что вам нужно:

deploy:
  cleanup: false
  on:
    branch:
    - master

Если вы все еще есть вопросы, не стесняйтесь спрашивать. В противном случае, примите мой ответ.

Приветствия

...