Firebase
Run the following command to run the pre-built Firebase Pipeline in your project to deploy your Cloudflare Workers to Cloudflare:
- Dagger
- Wasm
fluentci run firebase
fluentci run --wasm firebase deploy
Or, if you want to use it as a template:
fluentci init -t firebase
This will create a .fluentci
folder in your project.
Now you can run the pipeline with:
fluentci run .
Or simply:
fluentci
🧩 Dagger Module
Use as a Dagger Module:
dagger install github.com/fluent-ci-templates/firebase-pipeline@main
Call a function from the module:
dagger call build --src .
dagger call deploy --src . --token env:FIREBASE_TOKEN
🛠️ Environment Variables
Variable | Description |
---|---|
FIREBASE_TOKEN | Your firebase Access Token |
✨ Jobs
Job | Description |
---|---|
build | Build your project. |
deploy | Deploy to firebase hosting. |
build(
src: string | Directory | undefined = "."
): Promise<Directory | string>
deploy(
src: string | Directory | undefined = ".",
token?: string | Secret
): Promise<string>
👨💻 Programmatic usage
You can also use this pipeline programmatically:
import { deploy } from "jsr:@fluentci/firebase";
await deploy(".");
CI/CD pipeline integrations
The following examples show how to integrate FluentCI with popular CI providers to deploy applications to Firebase:
- Github Actions
- GitLab CI
- Circle CI
- Azure Pipelines
- AWS CodePipeline
ci.yml
name: ci
on:
push:
branches:
- main
jobs:
tasks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Fluent CI
uses: fluentci-io/setup-fluentci@v5
- name: deploy
run: fluentci run --wasm firebase deploy
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
.gitlab-ci.yml
.docker:
image: denoland/deno:debian-1.42.4
services:
- docker:${DOCKER_VERSION}-dind
variables:
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_VERIFY: "1"
DOCKER_TLS_CERTDIR: /certs
DOCKER_CERT_PATH: /certs/client
DOCKER_DRIVER: overlay2
DOCKER_VERSION: 20.10.16
GITLAB_ACCESS_TOKEN: $GITLAB_ACCESS_TOKEN
FIREBASE_TOKEN: $FIREBASE_TOKEN
.fluentci:
extends: .docker
before_script:
- apt-get update
- apt-get install -y curl tar gzip ca-certificates openssl git unzip libncursesw6
- deno install -A -r https://cli.fluentci.io -n fluentci
- fluentci --version
- curl -L https://dl.dagger.io/dagger/install.sh | DAGGER_VERSION=0.12.3 sh
- mv bin/dagger /usr/local/bin
- dagger version
deploy:
extends: .fluentci
script:
- fluentci run --wasm firebase deploy
.circleci/config.yml
version: 2.1
jobs:
job:
steps:
- checkout
- run: |
sudo apt-get update && sudo apt-get install -y curl unzip
curl -fsSL https://cli.fluentci.io | bash
fluentci --version
name: Setup FluentCI
- run: fluentci run --wasm firebase deploy
azure-pipelines.yml
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- script: |
curl -fsSL https://cli.fluentci.io | bash
fluentci --version
echo "##vso[task.prependpath]${HOME}/.deno/bin
displayName: Setup FluentCI
- script: fluentci run --wasm firebase deploy
displayName: deploy
buildspec.yml
version: 0.2
phases:
install:
commands:
- curl -fsSL https://cli.fluentci.io | bash
- fluentci --version
build:
commands:
- fluentci run --wasm firebase deploy
post_build:
commands:
- echo Build completed on `date`