あるフリーランスエンジニアの色んなメモ!! ITスキル・ライフハックとか

CircleCI:Firebaseにdeployする

実装例

.firebaserc

{
  "projects": {
    "default": "integrated-oath-xxx"
  }
}

firebase.json

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}

.circleci/config.yml(orbs使用時)

version: 2.1

orbs:
  firebase-deploy: azdevs/firebase-deploy@1.0.0

jobs:
  build:
    docker:
      - image: cibuilds/hugo:0.69.2
    steps:
      - checkout
      - ...
      - persist_to_workspace:
          root: ./
          paths:
            - public
            - .firebaserc
            - firebase.json
  deploy:
    docker:
      - image: 'circleci/node:lts'
    steps:
      - attach_workspace:
          at: ./
      - firebase-deploy/deploy:
          token: $FIREBASE_DEPLOY_TOKEN

workflows:
  ...

.circleci/config.yml(orbs未使用時)

version: 2

jobs:
  build:
    docker:
      - image: cibuilds/hugo:0.69.2
    steps:
      - checkout
      - ...
      - persist_to_workspace:
          root: ./
          paths:
            - public
            - .firebaserc
            - firebase.json
  deploy:
    docker:
      - image: 'circleci/node:lts'
    steps:
      - attach_workspace:
          at: ./
    - run:
        name: Install Firebase Tools
        command: npm install --prefix=./firebase-deploy firebase-tools
    - run:
        name: Deploy to Firebase
        command: ./firebase-deploy/node_modules/.bin/firebase deploy --token=$FIREBASE_DEPLOY_TOKEN -P default

workflows:
  ...
comments powered by Disqus