CircleCIでFirebaseHostingに自動デプロイする

公開日時
更新日時

Vue.jsやNuxt.js(spaモード)で作ったアプリをCircleCI経由でFirebaseHostingにデプロイしたい時に使う[[.circleci/config.yml]]。

workflowsのfiltersを使ってproductionブランチの場合のみbuildとdeployを行うように設定している。

version: 2

jobs:
  build:
    docker:
      - image: circleci/node:12.13
    working_directory: ~/app
    steps:
      - checkout
      - restore_cache:
          keys:
            - v1-dependencies-{{ checksum "yarn.lock" }}
      - run: yarn
      - save_cache:
          paths:
            - node_modules
          key: v1-dependencies-{{ checksum "yarn.lock" }}
      - run: yarn build
      - persist_to_workspace:
          root: .
          paths:
            - .

  deploy:
    docker:
      - image: circleci/node:12.13
    working_directory: ~/app
    steps:
      - attach_workspace:
          at: .
      - run: yarn deploy --token=$FIREBASE_TOKEN

workflows:
  version: 2
  build-deploy:
    jobs:
      - build:
          filters:
            branches:
              only: production
      - deploy:
          requires:
            - build
          filters:
            branches:
              only: production

参考


Related #circleci

AWS SAMで作ったLambdaアプリをCircleCIでデプロイする

circleci/aws-serverlessのOrbを使った

GridsomeとContentfulとCircleCIを組み合わせて予約投稿ができるようにする

CircleCIのSchedule Jobsを使って定期ビルドするようにした

CircleCIでのデプロイ時にsitemap.xmlを送信する

runコマンドでsitemap送信用URLにHTTPリクエストを送信する