GitHub Actions에서 React + Firebase 프로젝트를 CI/CD로 자동 배포한 이야기
GitHubActions
에서 CI/CD(계속적 통합/계속적 딜리버리)를 해 보았으므로, 가볍게 흐름을 투고합니다.CI/CD 하게 된 경위
GitHub Actions 설정 흐름
CI/CD 서버가 Firebase에 액세스하기 위한 토큰 검색 및 환경 변수로 설정
firebase login:ci
명령을 실행합니다.컨테이너나 WSL 로 명령을 실행하는 경우는
--no-localhost
옵션을 붙여 둔다. Settings
탭 → Secrets
에서 Name=FIREBASE_TOKEN_PROD,value=コマンドラインに表示されたトークン
를 추가합니다. CI/CD 설정 파일 작성
Actions
탭 → 파일 이름을 deploy.yml로 변경 → Start Commitボタン
를 누릅니다. deploy.yml
# This is a basic workflow to help you get started with Actions
# これは、アクションを開始するのに役立つ基本的なワークフローです。
name: React Firebase CICD
# Controls when the action will run.
# アクションが実行されるタイミングを制御します。
on:
# Triggers the workflow on push or pull request events but only for the master branch
# プッシュまたはプル リクエスト イベントでワークフローをトリガーしますが、マスター ブランチのみを対象とします
push:
branches: [master]
pull_request:
branches: [master]
# Allows you to run this workflow manually from the Actions tab
# [アクション] タブからこのワークフローを手動で実行できます
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
# ワークフローの実行は、順次または並行して実行できる 1 つ以上のジョブで構成されます。
jobs:
# This workflow contains a single job called "build"
# このワークフローには、「ビルド」と呼ばれる単一のジョブが含まれています
build:
# The type of runner that the job will run on
# ジョブが実行されるランナーのタイプ
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
# ステップは、ジョブの一部として実行される一連のタスクを表します
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# $GITHUB_WORKSPACE の下にあるリポジトリをチェックアウトして、ジョブがアクセスできるようにします
- name: Checkout
uses: actions/checkout@v2
# Runs a single command using the runners shell
# runners シェルを使用して単一のコマンドを実行します
- name: Run a one-line script
run: echo Start Deploy!
# Nodeのインストール
- name: Install Node
uses: actions/setup-node@v1
with:
node-version: 14.16.1
# runners 依存関係のインストール
- name: Install Dependencies
run: |
npm install
working-directory: ./
# ビルド実行
- name: Build
run: |
npm run build
working-directory: ./
# テスト実行(テストコードが無い場合はエラーが発生するので、コメントアウトすること。)
- name: Test
run: |
npm test
working-directory: /
# デプロイ準備
- name: Install Firebase Tools
run: |
npm install -g firebase-tools
working-directory: ./
# デプロイ実行
# FIREBASE_TOKEN_PRODはGitの環境変数から呼び出される
- name: Deploy
env:
FIREBASE_TOKEN_PROD: ${{ secrets.FIREBASE_TOKEN_PROD }}
run: |
firebase deploy --only hosting --token $FIREBASE_TOKEN_PROD
working-directory: ./
CI/CD 실행
Actions
탭을 열면 설정한 스크립트가 실행되고 있는 것이 보이므로 커밋명을 클릭한다. 
감상 등
Reference
이 문제에 관하여(GitHub Actions에서 React + Firebase 프로젝트를 CI/CD로 자동 배포한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kazuki_kuriyama/items/76c6a4806d5180d44652텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)