这是我的travis.yml
。我试图找出当我推送到任何分支时如何运行。在app
下,我被迫放置我正在处理的特定分支。我想使用all_branches: true
。如果我使用all_branche: true
,那么key
下的app
是什么?我想使用像stage
这样的通用词,但我认为它正在寻找特定的分支名称,因为当我尝试stage
时,我得到了404
。此外,app
key
(在这种情况下feature/travisCi
)是否必须与branch
相匹配?文档不是很清楚,所以我正在寻找更深入的解释。
language: node_js
node_js:
- node
- '6'
before_deploy:
- npm run build
deploy:
provider: heroku
api_key:
secure: ... secret key
app:
feature/travisCi: morning-engine-36163
on:
repo: hipshot/dashboardfe
branch: feature/travisCi
答案 0 :(得分:1)
仅当您希望将每个分支部署到Heroku中的其他应用程序时,才需要app
密钥的分支规范。
例如,如果您要将master
分支部署到生产Heroku应用程序中,并且您有一个staging
分支,那么您可能希望将其分配到您的暂存Heroku应用程序,然后您可以执行以下操作:
language: node_js
node_js:
- node
- '6'
before_deploy:
- npm run build
deploy:
provider: heroku
api_key:
secure: ... secret key
app:
master: heroku_app_name_for_production
staging: heroku_app_name_for_staging
on:
all_branches: true
但是,如果您只有一个Heroku应用,并且您希望在任何分支机构中进行任何更改,那么就不需要在branch: heroku_app
下指定app
部分,并且你可以简单地使用:
language: node_js
node_js:
- node
- '6'
before_deploy:
- npm run build
deploy:
provider: heroku
api_key:
secure: ... secret key
app: your_heroku_app_name
on:
all_branches: true
另一种典型情况是仅向Heroku部署对master
分支的更改。为此:
language: node_js
node_js:
- node
- '6'
before_deploy:
- npm run build
deploy:
provider: heroku
api_key:
secure: ... secret key
app: your_heroku_app_name
on:
branch: master
回到您的具体示例,如果您要将部署限制到feature/travisCi
分支,这应该可行:
language: node_js
node_js:
- node
- '6'
before_deploy:
- npm run build
deploy:
provider: heroku
api_key:
secure: ... secret key
app: morning-engine-36163
on:
branch: feature/travisCi