我想创建一个yml
文件,以防止我的生产代码,当一个新的内容提交到回购作出部署。
我只希望生产代码来构建和部署,如果直接推入到主分支的 。 我现有的yml
配置构建及如果我创建一个拉请求部署我的变化-实际上不合并。 我想阻止这一切。 我只想要一个拉已请求和变更实际上是被推到之后进行了“建设和部署”部分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
。
如何设置,以便它只有当代码实际上已经被合并到主部署(和只)。 我还是想执行测试和东西,如果推是像开发等其他部门作出