Firebase Advent Calendar 2017用のネタを備忘録的にまとめたものです。
- 2017-11-07 functionsのnpm install対応を忘れていたので追加、あとcomposeもバックエンド実行をやめた
- 2017-11-06 記述開始
| { | |
| "projects": { | |
| "release": "releaseプロジェクトID", | |
| "develop": "developプロジェクトID" | |
| } | |
| } |
Firebase Advent Calendar 2017用のネタを備忘録的にまとめたものです。
| version: '2' | |
| services: | |
| deploy: | |
| env_file: deploy.env | |
| environment: | |
| - FIREBASE_PROJECT=develop | |
| build: | |
| context: ./ | |
| dockerfile: deploy.dockerfile | |
| volumes: | |
| - ./:/mount |
| version: '2' | |
| services: | |
| deploy: | |
| env_file: deploy.env | |
| environment: | |
| - FIREBASE_PROJECT=release | |
| build: | |
| context: ./ | |
| dockerfile: deploy.dockerfile | |
| volumes: | |
| - ./:/mount |
| FROM node:6.11-alpine | |
| RUN apk update | |
| RUN apk add git | |
| RUN npm install -g firebase-tools | |
| RUN mkdir mount | |
| WORKDIR mount | |
| ARG FIREBASE_PROJECT="develop" | |
| ARG FIREBASE_TOKEN="直接のdockerコマンドで実行しないよう、適当な文字列を初期値としてぶち込む" | |
| # functionsのnpm installをするためにCMDに入れているが、composeのvolumsが先に行われるならRUNでnpm installしておきたい… | |
| CMD cd functions && npm install && cd ../ \ | |
| && firebase use ${FIREBASE_PROJECT} --token ${FIREBASE_TOKEN} \ | |
| && firebase deploy --token ${FIREBASE_TOKEN} |
| FIREBASE_TOKEN=x/xxxxxxxxxxxxxxxxxxxxxx |
| # 処理に時間がかかるので、バックエンド実行しないほうが都合が良さそう | |
| docker-compose -f deploy-develop.yml up --build |