With Firebase SDK 3.x
For TravisCI to work, we need to encrypt the file that contains the private key. See a gist.
Data is encrypted before add to Git:
# Encrypt
cat /dev/urandom | head -c 10000 | openssl sha1 > ./.secret
openssl aes-256-cbc -pass "file:./.secret" -in ./test/serviceAccount.json -out ./test/serviceAccount.json.enc -a
On Travis it can be decrypted with:
# Decrypt on Travis
openssl aes-256-cbc -pass "pass:${FIREBASE_ACCOUNT_PASS}" -in ./test/serviceAccount.json.enc -out ./test/serviceAccount.json -d -a