首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从travis同时部署多个firebase主机项目(没有试运行或生产,只有其他网站)

如何从travis同时部署多个firebase主机项目(没有试运行或生产,只有其他网站)
EN

Stack Overflow用户
提问于 2017-05-20 21:02:23
回答 2查看 789关注 0票数 1

我想从Travis部署多个firebase托管项目,这是可能的??,如果是,我会很高兴:)

因为我现在有10个项目,都是相同的代码,我认为对我来说更容易从1git repo部署到我所有的网站,现在我在时间上做了1个,花了我4-5个小时。

我的.travis.yml

代码语言:javascript
运行
复制
language: node_js
node_js:
  - "7"

branches:
  only:
    - master

before_script:
  - npm install -g firebase-tools
  - npm install -g @angular/cli

script:
  - ng build --prod

after_success:

  - firebase deploy --token $FIREBASE_TOKEN_1 <-- this is for https://project1.firebaseapp.com
  - firebase deploy --token $FIREBASE_TOKEN_2 <-- this is for https://project2.firebaseapp.com
  - firebase deploy --token $FIREBASE_TOKEN_3 <-- this is for https://project3.firebaseapp.com
  - firebase deploy --token $FIREBASE_TOKEN_4 <-- this is for https://project4.firebaseapp.com
  - firebase deploy --token $FIREBASE_TOKEN_5 <-- this is for https://project5.firebaseapp.com
  - firebase deploy --token $FIREBASE_TOKEN_6 <-- this is for https://project6.firebaseapp.com

notifications:
  email:
    on_failure: change
    on_success: change

这有可能吗?

EN

回答 2

Stack Overflow用户

发布于 2017-05-21 00:18:17

是的,完全正确。只需在.firebaserc文件中声明项目

{ "projects": { "project1": "firebase-project-id-1", "project1": "firebase-project-id-1", ... "project10": "firebase-project-id-10" } }

然后,您只需在每个firebase deploy之间切换活动项目

- firebase use project1 --token $FIREBASE_DEPLOY_KEY1 - firebase deploy --non-interactive --token $FIREBASE_DEPLOY_KEY1 ... - firebase use project10 --token $FIREBASE_DEPLOY_KEY10 - firebase deploy --non-interactive --token $FIREBASE_DEPLOY_KEY10

票数 5
EN

Stack Overflow用户

发布于 2021-05-02 00:19:14

Dennis' great answer上构建。在配置aliases之后,您甚至可以进一步简化。

您可以显式设置当前命令的项目,而不是使用firebase use切换“活动”项目,即,在部署时,可以使用-P--project标志设置相应的项目

代码语言:javascript
运行
复制
firebase deploy --token $FIREBASE_TOKEN_1 -P project1

代码语言:javascript
运行
复制
firebase deploy --token $FIREBASE_TOKEN_1 --project project1

documentation

通过使用任何

命令传递--project标志,您可以覆盖当前活动项目所使用的内容。..。如果你想对已经分配了产品别名的Firebase项目运行一个命令,那么你可以运行,例如,firebase deploy --project=prod

..。或在CLI的帮助部分中:

代码语言:javascript
运行
复制
$ firebase --help | grep '\--project'
  -P, --project <alias_or_project_id>    the Firebase project to use for this command

另一个补充:我假设您有权使用相同的用户访问所有项目。这在documentation中没有明确指定,但是令牌与您的用户相关联,而不是与项目相关联。这意味着您应该能够使用相同的令牌来成功地部署到每个环境。

因此,您的构建脚本可以简化为

代码语言:javascript
运行
复制
after_success:

  - firebase deploy --token $FIREBASE_TOKEN -P project1 
  - firebase deploy --token $FIREBASE_TOKEN -P project2
  - firebase deploy --token $FIREBASE_TOKEN -P project3
  - firebase deploy --token $FIREBASE_TOKEN -P project4
  - firebase deploy --token $FIREBASE_TOKEN -P project5
  - firebase deploy --token $FIREBASE_TOKEN -P project6
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44086195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档