1. 파이어베이스에 접속 - 로그인 - 새 프로젝트 추가 - 프로젝트를 생성한다. (방법은 생략함...)

 

2. 왼쪽 메뉴에서 호스팅(Hosting)을 선택한다.

 

3. 호스팅이 아직 생성되지 않았다면, 다음과 같이 설명 등 첫 화면이 나온다. 상단에 시작하기 버튼을 누른다.

 

생각보다 자세히 설명되어 있다. 단계도 3단계밖에 되지 않으므로 매우 간단하다는 것을 예상할 수 있다. 그럼 시작해보자.

 

1) npm install -g firebase-tools

 

터미널에 입력하여 파이어베이스를 사용하기 위해 설치를 해준다.

2) firebase login

 

파이어베이스를 프로젝트 루트에서 초기화해준다. 

파이어베이스는 구글이므로 구글 로그인이 안되있다면, 이메일과 비밀번호를 물어볼 때도 있다.

이미 크롬을 사용하고, 크롬에 로그인이 되있는 상태라면,

 

Already logged in as youngsu.gil@gmail.com

 

이렇게 나올 것이다. 그럼 패스!

 

3) firebase init

 

이렇게하면, 호스팅을 하고자하는 프로젝트에 파이어베이스를 초기화하여 설치하는 명령어이다.

몇 가지를 물어본다.

쉽게 설명하면,

 

파이어베이스의 기능중에 이 폴더(프로젝트 루트경로)에 어떤걸 사용하려고하나? 선택해주라. 선택은 Space를 눌러라.

위아래로 움직이는 것은 키보드 방향키이다. 선택 후 Enter를 입력하면 다음으로 넘어간다.

 

이 예제의 경우, Hosting만 사용할 것이므로 Hosting에만 체크 후 Enter!

 

<1>번 질문

 

? Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confirm your choices. (Press <space> to select, <a> to toggle all, <i> 
to invert selection)
◯ Database: Configure Firebase Realtime Database and deploy rules
 ◯ Firestore: Deploy rules and create indexes for Firestore
 ◯ Functions: Configure and deploy Cloud Functions
❯ ◯ Hosting: Configure and deploy Firebase Hosting sites
 ◯ Storage: Deploy Cloud Storage security rules
 ◯ Emulators: Set up local emulators for Firebase features
 ◯ Remote Config: Get, deploy, and rollback configurations for Remote Config

 

다음은 기존에 존재하는 프로젝트를 사용할 것이므로, 기본으로 선택된 Use an existing project를 체크하고 Enter를 입력한다.

 

<2>번 질문 

 

First, let's associate this project directory with a Firebase project.
You can create multiple project aliases by running firebase use --add, 
but for now we'll just set up a default project.

? Please select an option: (Use arrow keys)
❯ Use an existing project 
  Create a new project 
  Add Firebase to an existing Google Cloud Platform project 
  Don't set up a default project 

 

<3번 질문>

 

? Select a default Firebase project for this directory: (Use arrow keys)
❯ coffe-6b8dc (Coffe) 
  hunsu-7b000 (Hunsu) 
  mandu-cbf46 (mandu) 
  mooncoin-bbab1 (MOONCOIN) 

 

파이어베이스에 있는 프로젝트들 중 어떤 프로젝트 어디에 이 호스팅을 넣을 예정이냐? 

이런 질문이다. 원하는 프로젝트를 선택한 뒤 Enter

 

계속 물어본다.... 지겹다. 

 

=== Hosting Setup

Your public directory is the folder (relative to your project directory) that
will contain Hosting assets to be uploaded with firebase deploy. If you
have a build process for your assets, use your build's output directory.

? What do you want to use as your public directory? (public)

 

--> 요건 public 디렉토리를 어떻게 할꺼냐? 물어보는 건데, 그냥 Enter를 입력하면 기본적으로 public 이름의 폴더로 지정된다.

 

? Configure as a single-page app (rewrite all urls to /index.html)? (y/N) 

 

--> 요건 굳이... 필요없음.  N 입력!

 

? Set up automatic builds and deploys with GitHub? (y/N) 

 

--> GitHub로 배포를 자동적으로 할 꺼냐? 이런거 물어보는 것 같음.. 필요없음.  N 입력!

 

? File public/404.html already exists. Overwrite? (y/N) 

--> 404.html 파일이 이미 존재한다 덮어씌울꺼냐? 몰라. N 입력!

 

? File public/index.html already exists. Overwrite? (y/N)

 

--> index.html 파일이 이미 존재한다 덮어씌울꺼냐? 몰라. N 입력!

 

아 왜 이렇게 많나 생각한 순간

 

끝났다. 성공적으로 피니시!! 오!

 

 

다음과 같이 firebase 어쩌고 파일이 들어갔다면 정상적으로 파이어베이스 세팅 완료!

 

 

이제 배포만 남겨둔 상태 두근두근

 

 

4) firebase deploy

 

드디어 마무리 배포 명령어까지 왔다.

짠. 이렇게 complete되었고,

 

그 바로 밑에

 

Project Console: https://console.firebase.google.com/project/xxx/overview
Hosting URL: https://appname.web.app

 

이렇게 나오는데 Hosting URL이 바로 외부에서 접속해서 내 프로젝트를 볼 수 있는 링크이다.

 

이상으로 파이어베이스를 이용해서 웹 사이트를 호스팅하는 방법을 정리해봤다.

 

 

 

Posted by sungho88
,

리액트 앱을 firebase를 통해 웹 호스팅으로 Deploy하려고 한다.


1. 첫 번째 단계. Firebase CLI 설치


가장 먼저해야 할 일은 모든 디렉토리에서 Firebase에 액세스 할 수 있도록 

Firebase CLI를 전체적으로 설치하는 것. 

아... 그 전에, node.js와 npm이 정상적으로 설치되어 있는지를 확인을 먼저한다.

확인했다면, 터미널 또는 명령 프롬프트를 열고 다음 명령을 실행하자.

npm install -g firebase-tools
이러면 global로 firebase-tools이 설치될 것이다.

2. 두 번째 단계. Firebase 초기화

프로젝트의 루트 폴더에 있는지 확인한 뒤에 아래 명령을 실행하자
firebase init
이렇게하면 초기화가 된다.

그런데, 에러가 발생할 경우도 있다.



firebase 로그인은 어떻게 하는걸까? 아! 
firebase는 구글것이다.

해결책은 다음과 같다.
 

firebase login --interactive


쉽게 말하면 구글에 로그인 후 파이어베이스 연동 여부를 허용해주어야 한다는 것이다.
이렇게하면 자동으로 구글 계정 로그인 브라우저가 뜬다.
이 때 구글 계정으로 로그인을 해주고 연동 체크를 해주면 

성공!!

다시 한번 firebase init 명령어를 입력하면, 다음과 같은 멋진 화면이 나온다.


키보드 방향키를 밑으로 내리면

> 도 따라 움직인다.

 Hosting으로 이동 후 Space를 눌러 호스팅을 선택한다.

그러면 이것 저것 물어보는데, directory를 build로,
나머지는 알아서...No Yes를 했다.



성공하면. . .



✔  Firebase initialization complete!
이 나오면 성공! 

3. 세 번째 단계. yarn build

다시 터미널로 돌아와서,

yarn build를 입력하면(만약 설치가 안 되었다면, npm install yarn 먼저 진행한다.)

프로젝트에 build 폴더가 생성된다. 이 폴더를 앱 배포하는데 사용한다. 


4. 네 번째 단계. Firebase 배포

$ firebase deploy

를 입력해서 파이어베이스와의 연결을 완료한다.





배포 후 업데이트 하는 방법


이후에 리액트 작업한 후 수정된 코드를 다시 배포 즉, 업데이트를 하고 싶다면 순서는 다음과 같다.

0. 먼저, firebase init는 할 필요없다.

1. yarn build

2. firebase deploy 

두 단계 순서로 진행해야 한다.

yarn build를 안 하면, build 폴더가 업데이트가 되지 않기 때문에 배포를 해도 변경되지 않는다.

자세한 영상자료는 아래 링크에 있으니 따라해보자.

https://www.youtube.com/watch?v=jFtdF_ECA10&t=286s



또 한가지. 추가하자면,


한번 구글 로그인으로 성공이 되서 배포를 했다면, 추후에는 무조건 그 메일만 사용이 가능하다.


다른 이메일로 로그인하면 에러가 발생한다. 무조건 최초 등록한 이메일로 접근이 가능하다.


firebase login --reauth


이 명령어를 통해 구글에서 첫 이메일을 로그인해주어야 배포가 진행된다.


✔  Success! Logged in as xxxx@gmail.com

lui-iMac:stock$ firebase deploy


=== Deploying to 'test-8bttd4'...


i  deploying hosting

i  hosting: preparing build directory for upload...

✔  hosting: 9 files uploaded successfully


✔  Deploy complete!


Project Console: https://console.firebase.google.com/project/xxxxxx.xxx

Hosting URL: https://xxxxxxxxx.firebaseapp.com


성공.

Hosting URL을 브라우저에 입력 후, 접속하면 


Posted by sungho88
,