Skip to content

Instantly share code, notes, and snippets.

@yamacraft
Last active November 7, 2017 09:24
Show Gist options
  • Save yamacraft/523801d1a9e8c29777939d303bd5ecdf to your computer and use it in GitHub Desktop.
Save yamacraft/523801d1a9e8c29777939d303bd5ecdf to your computer and use it in GitHub Desktop.
FirebaseプロジェクトのDeployをDockerにさせるための備忘録
{
"projects": {
"release": "releaseプロジェクトID",
"develop": "developプロジェクトID"
}
}

FirebaseプロジェクトのDeployをDockerにさせるための備忘録

Firebase Advent Calendar 2017用のネタを備忘録的にまとめたものです。

更新履歴

  • 2017-11-07 functionsのnpm install対応を忘れていたので追加、あとcomposeもバックエンド実行をやめた
  • 2017-11-06 記述開始
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment