Firebase CLI에서 앱을 어떻게 전환하나요?


100

이것은 꽤 쉬운 일처럼 보이지만 어떤 이유로 든 패배하고 있습니다.

firebase-tools CLI를 사용하여 데이터베이스와 상호 작용하려고합니다. 문제없이 로그인 할 수 있으며을 입력 firebase list하면 현재 사용중인 모든 앱 목록이 표시됩니다. 현재 연결된 앱도 알려줍니다.

내 문제는 다른 앱 중 하나에 연결하고 싶다는 것입니다. 스테이징 앱에서 쿼리를 실행 중이며 프로덕션 앱에서 실행해야합니다. 목록에서 프로덕션 앱을 볼 수 있지만 해당 앱으로 전환 할 방법을 찾지 못했습니다.

생각?

답변:



27

차라리 스크립트를 사용합니다. 다음과 같은 프로젝트 구조를 고려하십시오.

your-project
├── .firebaserc
└── functions
   ├── package.json
   └── index.js

.firebaserc다음 예제로 이동하여 따르십시오.

{
  "projects": {
    "default": "project-name",
    "prod": "other-name"
  }
}

그런 다음 이동 package.json하여 다음 스크립트 ( changeToProd, 및 changeToDev)를 추가합니다 .

{
  ...
  "scripts": {
    ...
    "changeToProd": "firebase use prod",
    "changeToDev": "firebase use default"
  },
  "dependencies": {
    ...
  },
  ...
}

IDE가 npm 스크립트를 지원하는 경우 IDE UI를 사용하여 실행할 수 있고 그렇지 않으면 명령 콘솔을 사용하여 실행할 수 있습니다. functions폴더 안에 있는지 확인하십시오 .

npm run-script changeToProd

터미널에서 다음 명령을 실행하거나 방금 한 것처럼 스크립트에 추가하여 현재 프로젝트를 확인할 수 있습니다.

firebase use

환영합니다. 제 접근 방식은 나머지 팀원들과 공유 할 수 있도록 만들어졌습니다. :)
cutiko

17

당신이 실행하는 디렉토리에서 firebase list,라는 파일이있을 것입니다 firebase.json. 텍스트 편집기에서 열면 거기에 앱 이름이 표시됩니다. 거기 firebase.json에서 변경 하거나 삭제 하여 앱을 변경할 수 있습니다.

또는 텍스트 파일을 편집하는 번거 로움을 덜고 Jason이 말한대로 firebase init.


1
지금 변화가 있습니까? 나는 firebase.json에서 응용 프로그램 이름을 찾을 수 있지만 .... .firebaserc에서 찾을 정화를 감상 할 수 있기 때문에 ...
Abhishek

1
프로젝트 이름은 실제로 .firebaserc지금입니다.
Frank van Puffelen 2017

2
잘못되었을 수 있지만 이것은 데이터베이스를 전환하지 않는 것 같습니다. 배포는 "현재"프로젝트에 배포되지만 여전히 원래 데이터베이스에서 데이터를 가져 오는 것 같습니다. 준비 환경에서 프로덕션을 분리하기 위해 이것을 사용한다면 꽤 위험합니다. 아무도 그들의 제품 데이터를 잃지 않기를 바랍니다. :(
Enric 바스

1
@Enric이 다른 프로젝트에있는 동안 기본 데이터베이스에 액세스하는 방법에 대해 설명한 것과 동일한 문제가 있습니다. 앱을 적절하게 초기화하도록 구성을 변경할 수 있도록 클라이언트 측에서 사용중인 프로젝트를 감지하는 방법이 있습니까?
Zectbumo

firebaseConfig`// 웹앱의 Firebase 구성을 변경해야합니다. var firebaseConfig = {apiKey : "api-key", authDomain : "new-project.firebaseapp.com", databaseURL : "https : /new-project.firebaseio.com ", projectId :"new-project-id ", storageBucket :"xxxxxxxxxxx.appspot.com ", messagingSenderId :"xxxxxx ", appId :"xxxxxxxxxx ", measurementId :"xxxxxxxx "}; // Firebase 초기화
Sultanmyrza Kasymbekov

11

Windows에서 Node.js를 사용하는 경우 대답은

firebase use <project_id>

그러나 예를 들어 <>없이

firebase use chat-app-2a150

사용할 올바른 프로젝트 ID를 선택하기 위해 다음 코드를 사용하여 모든 프로젝트를 볼 수 있습니다.

firebase projects:list

5

2020 년 답변 :

공식적으로 권장되는 방법은 "별칭"을 사용하는 것입니다.

당신의에서 .firebaserc, 다른 프로젝트 ID를 설정합니다

{
  "projects": {
    "production": "my-project-id",
    "testing": "my-project-id--testing"
  }
}
// you can also interactively add them with `firebase use --add`

그런 다음 프로젝트를 수행 firebase use testing하거나 firebase use production전환 할 수 있습니다.

프로젝트를 전환해도 git diff가 생성되지는 않으며 단순히 로컬 컴퓨터에 기억됩니다. 현재 사용중인 프로젝트를 확인하려면을 실행하십시오 firebase use.

프로젝트 소유자의 변경을 확인하지 않고 프로젝트 ID를 변경하려면 .firebaserc, 어떻게 firebase use my-project-id허용 대답에 언급 된 로컬. 프로젝트의 소유자 자신의 프로젝트 ID를 사용하는 다른 사람을 원하는 경우 반면에, 당신은 추가해야합니다 .firebaserc으로 .gitignore.


3

명령 줄 스위치를 사용하면됩니다.

--project=my-firebase-project

1

추가 @cutiko의 답변

package.json

"scripts": {
...
"prod": "echo \"Switch to Production environment\" && firebase use prod && npm run runtimeconfig",
"dev": "echo \"Switch to Development environment\" && firebase use default && npm run runtimeconfig"
...

npm run runtimeconfig 사용자 지정 구성 환경을 얻으려면

.firebaserc

{
  "projects": {
    "default":"{project-dev-id}",
    "prod": "{project-prod-id}"
  }
}

0

firebase 앱 대상 프로젝트를 변경하려면 "firebase use myProjectName"을 입력하면됩니다. 나는 또한 내가 가지고있는 프로젝트를 확인하기 위해 위의 답변 "firebase list"를 사용했습니다 (angular 7 앱이있는 firebase cli 7.4에서 저를 위해 작동합니다)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.