我想从Travis部署多个firebase托管项目,这是可能的??,如果是,我会很高兴:)
因为我现在有10个项目,都是相同的代码,我认为对我来说更容易从1git repo部署到我所有的网站,现在我在时间上做了1个,花了我4-5个小时。
我的.travis.yml
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
这有可能吗?
发布于 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
发布于 2021-05-02 00:19:14
在Dennis' great answer上构建。在配置aliases之后,您甚至可以进一步简化。
您可以显式设置当前命令的项目,而不是使用firebase use
切换“活动”项目,即,在部署时,可以使用-P
或--project
标志设置相应的项目
firebase deploy --token $FIREBASE_TOKEN_1 -P project1
或
firebase deploy --token $FIREBASE_TOKEN_1 --project project1
通过使用任何
命令传递
--project
标志,您可以覆盖当前活动项目所使用的内容。..。如果你想对已经分配了产品别名的Firebase项目运行一个命令,那么你可以运行,例如,firebase deploy --project=prod
。
..。或在CLI的帮助部分中:
$ firebase --help | grep '\--project'
-P, --project <alias_or_project_id> the Firebase project to use for this command
另一个补充:我假设您有权使用相同的用户访问所有项目。这在documentation中没有明确指定,但是令牌与您的用户相关联,而不是与项目相关联。这意味着您应该能够使用相同的令牌来成功地部署到每个环境。
因此,您的构建脚本可以简化为
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
https://stackoverflow.com/questions/44086195
复制相似问题