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 |