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