Setting up for firebase deployments

This commit is contained in:
Jeff Avallone 2019-01-08 17:58:32 -05:00
parent 767433149e
commit b637d7308f
6 changed files with 2558 additions and 57 deletions

17
.firebaserc Normal file
View File

@ -0,0 +1,17 @@
{
"projects": {
"default": "regexper"
},
"targets": {
"regexper": {
"hosting": {
"production": [
"regexper"
],
"preview": [
"regexper-preview"
]
}
}
}
}

2
.gitignore vendored
View File

@ -3,3 +3,5 @@ node_modules
build build
docs docs
tmp tmp
.firebase/
firebase-debug.log

View File

@ -2,6 +2,32 @@ image: node:8
stages: stages:
- build - build
- deploy
.preview_job: &preview_job
only:
- master
.production_job: &production_job
only:
- /^release-.*$/
.build_template: &build_template
stage: build
dependencies: []
artifacts:
paths:
- build/
script:
- yarn gulp build
- rm -r build/__discard__
- gzip -k -6 $(find build/ -type f)
.deploy_template: &deploy_template
stage: deploy
script:
- yarn firebase use --token $FIREBASE_DEPLOY_KEY default
- yarn firebase deploy --only hosting:$DEPLOY_ENV -m "Pipeline $CI_PIPELINE_ID, Build $CI_BUILD_ID" --non-interactive --token $FIREBASE_DEPLOY_KEY
cache: cache:
paths: paths:
@ -10,16 +36,38 @@ cache:
before_script: before_script:
- yarn install - yarn install
pages: build-preview:
stage: build <<: *build_template
<<: *preview_job
variables: variables:
GA_PROP: $PROD_GA_PROPERTY DEPLOY_ENV: preview
script: GA_PROPERTY: $PREVIEW_GA_PROPERTY
- BUILD_PATH="$(pwd)/public" yarn gulp build
- rm -r public/__discard__ build-production:
- gzip -k -6 $(find public/ -type f) <<: *build_template
artifacts: <<: *production_job
paths: variables:
- public DEPLOY_ENV: production
only: GA_PROPERTY: $PROD_GA_PROPERTY
- master
deploy-preview:
<<: *deploy_template
<<: *preview_job
dependencies:
- build-preview
environment:
name: preview
url: https://preview.regexper.com
variables:
DEPLOY_ENV: preview
deploy-production:
<<: *deploy_template
<<: *production_job
dependencies:
- build-production
environment:
name: production
url: https://regexper.com
variables:
DEPLOY_ENV: production

12
firebase.json Normal file
View File

@ -0,0 +1,12 @@
{
"hosting": [
{
"target": "production",
"public": "build"
},
{
"target": "preview",
"public": "build"
}
]
}

View File

@ -26,6 +26,7 @@
"docco": "^0.7.0", "docco": "^0.7.0",
"extract-loader": "^1.0.0", "extract-loader": "^1.0.0",
"file-loader": "^0.11.2", "file-loader": "^0.11.2",
"firebase-tools": "^6.2.2",
"folder-toc": "^0.1.0", "folder-toc": "^0.1.0",
"gulp": "^3.8.10", "gulp": "^3.8.10",
"gulp-connect": "^5.0.0", "gulp-connect": "^5.0.0",

2511
yarn.lock

File diff suppressed because it is too large Load Diff