Sha256: d62e6e63eef624716dc024c4577e5aa00ae2df86b7a2459a1581b9d2c917be6c

Contents?: true

Size: 1.17 KB

Versions: 5

Compression:

Stored size: 1.17 KB

Contents

module Dpl
  module Providers
    class Firebase < Provider
      status :beta

      description sq(<<-str)
        tbd
      str

      node_js '>= 8.0.0'

      npm 'firebase-tools@^6.3', 'firebase'

      path 'node_modules/.bin'

      env :firebase

      opt '--token TOKEN',   'Firebase CI access token (generate with firebase login:ci)', required: true, secret: true
      opt '--project NAME',  'Firebase project to deploy to (defaults to the one specified in your firebase.json)'
      opt '--message MSG',   'Message describing this deployment.'
      opt '--only SERVICES', 'Firebase services to deploy', note: 'can be a comma-separated list'
      opt '--force',         'Whether or not to delete Cloud Functions missing from the current working directory'

      cmds deploy: 'firebase deploy --non-interactive %{deploy_opts}'
      errs deploy: 'Firebase deployment failed'
      msgs missing_config: 'Missing firebase.json'

      def validate
        error :missing_config unless File.exists?('firebase.json')
      end

      def deploy
        shell :deploy
      end

      def deploy_opts
        opts_for(%i(project message token only force))
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
dpl-2.0.0.alpha.11 lib/dpl/providers/firebase.rb
dpl-2.0.0.alpha.10 lib/dpl/providers/firebase.rb
dpl-2.0.0.alpha.9 lib/dpl/providers/firebase.rb
dpl-2.0.0.alpha.8 lib/dpl/providers/firebase.rb
dpl-2.0.0.alpha.7 lib/dpl/providers/firebase.rb