Deploy to Netlify
This page explains how to deploy applications to Netlify using FluentCI.
Before you begin
The instructions on this page assume that you are familiar with Netlify
. In addition:
- Have your Netlify project ready.
- If you don't already have a project to deploy to Netlify, you can create a default project by installing and initializing Netlify.
Using the Netlify Plugin
You can use FluentCI to deploy applications to Netlify using the netlify plugin, no need to install Netlify CLI or Node.js on your machine, FluentCI will handle everything for you.
The following commands can be used to deploy applications to Netlify:
# Deploy to Netlify, make sure to export NETLIFY_AUTH_TOKEN, NETLIFY_SITE_ID and NETLIFY_SITE_DIR
fluentci run --wasm netlify deploy --dir $NETLIFY_SITE_DIR
CI/CD pipeline integrations
The following examples show how to integrate FluentCI with popular CI providers to deploy applications to Netlify:
- 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 netlify deploy --dir $NETLIFY_SITE_DIR
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ env.NETLIFY_SITE_ID }}
NETLIFY_SITE_DIR: ${{ env.NETLIFY_SITE_DIR }}
.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
NETLIFY_AUTH_TOKEN: $NETLIFY_AUTH_TOKEN
NETLIFY_SITE_ID: $NETLIFY_SITE_ID
NETLIFY_SITE_DIR: $NETLIFY_SITE_DIR
.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 netlify deploy --dir $NETLIFY_SITE_DIR
.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 netlify deploy --dir $NETLIFY_SITE_DIR
name: deploy
machine:
image: ubuntu-2004:2023.07.1
workflows:
fluentci:
jobs:
- job
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 netlify deploy --dir $NETLIFY_SITE_DIR
displayName: deploy
buildspec.yml
version: 0.2
phases:
install:
commands:
- curl -fsSL https://cli.fluentci.io | bash
- fluentci --version
build:
commands:
- fluentci run --wasm netlify deploy --dir $NETLIFY_SITE_DIR
post_build:
commands:
- echo Build completed on `date`