Skip to content

Commit

Permalink
update cookbook, add CI integrations examples
Browse files Browse the repository at this point in the history
  • Loading branch information
tsirysndr committed Jul 29, 2024
1 parent a2cceb5 commit caaf376
Show file tree
Hide file tree
Showing 58 changed files with 4,400 additions and 743 deletions.
25 changes: 0 additions & 25 deletions docs/cookbook/build-bun.md

This file was deleted.

152 changes: 152 additions & 0 deletions docs/cookbook/build-bun.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
---
sidebar_position: 1
---

# Build and test Bun applications

This guide will show you how to build and test Bun applications with FluentCI.

## Before you begin

The instructions on this page assume that you are familiar with `Bun`. In addition:

- Have your `Bun` project handy, including `package.json` and `test` files.

## Using the Bun Plugin

You can use FluentCI to build Bun applications using [bun plugin](https://github.com/fluent-ci-templates/bun-pipeline), no need to install Bun on your machine, FluentCI will handle everything for you.

The following commands can be used to build and test Bun applications:

```bash
fluentci run --wasm bun test
fluentci run --wasm bun build
```

## CI/CD pipeline integrations

The following examples show how to integrate FluentCI with popular CI providers to build and test Bun applications:

import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import CodeBlock from "@theme/CodeBlock";

<Tabs>
<TabItem value="gha" label="Github Actions">
<CodeBlock language="yaml" title="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: tests
run: fluentci run --wasm bun test
- name: build
run: fluentci run --wasm bun build
`}
</CodeBlock>
</TabItem>
<TabItem value="gitlab" label="GitLab CI">
<CodeBlock language="yaml" title=".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
.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
tests:
extends: .fluentci
script: - fluentci run --wasm bun test
build:
extends: .fluentci
script: - fluentci run --wasm bun build
`}

</CodeBlock>
</TabItem>
<TabItem value="circleci" label="Circle CI">
<CodeBlock language="yaml" title=".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 bun test
name: tests
- run: fluentci run --wasm bun build
name: build
machine:
image: ubuntu-2004:2023.07.1
workflows:
fluentci:
jobs:
- job
`}
</CodeBlock>
</TabItem>
<TabItem value="azure" label="Azure Pipelines">
<CodeBlock language="yaml" title="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 bun test
displayName: tests
- script: fluentci run --wasm bun build
displayName: build
`}
</CodeBlock>
</TabItem>
<TabItem value="aws" label="AWS CodePipeline">
<CodeBlock language="yaml" title="buildspec.yml">
{`version: 0.2
phases:
install:
commands:
- curl -fsSL https://cli.fluentci.io | bash
- fluentci --version
build:
commands:
- fluentci run --wasm bun test
- fluentci run --wasm bun build
post_build:
commands:
- echo Build completed on \`date\``}
</CodeBlock>
</TabItem>
</Tabs>
35 changes: 0 additions & 35 deletions docs/cookbook/build-containers.md

This file was deleted.

149 changes: 149 additions & 0 deletions docs/cookbook/build-containers.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
---
sidebar_position: 2
---

# Build Container Images

This page explains how to build container images for your applications using FluentCI.

## Before you begin

The instructions on this page assume that you are familiar with `Docker`. In addition:

- Have Docker installed on your machine.
- Have your application source code along with `Dockerfile` handy.

## Using the Buildx Plugin

You can use FluentCI to build container images using the [buildx plugin](https://github.com/tsirysndr/daggerverse/tree/main/buildx), no need to install buildx on your machine, FluentCI will handle everything for you.

The following command can be used to build container images:

```bash
fluentci run --wasm buildx build --platform linux/amd64,linux/arm64 -t demo:latest .
```

## Using the Nixpacks Plugin

You can use FluentCI to build container images using the [nixpacks plugin](https://github.com/tsirysndr/daggerverse/tree/main/nixpacks), no need to install nixpacks on your machine, FluentCI will handle everything for you.

The following command can be used to plan and build container image:

```bash
fluentci run --wasm nixpacks nixpacks plan . --format json
fluentci run --wasm nixpacks nixpacks build . --name myapp
```

## CI/CD pipeline integrations

The following examples show how to integrate FluentCI with popular CI providers to build container images:

import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import CodeBlock from "@theme/CodeBlock";

<Tabs>
<TabItem value="gha" label="Github Actions">
<CodeBlock language="yaml" title="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: build
run: fluentci run --wasm buildx build`}
</CodeBlock>
</TabItem>
<TabItem value="gitlab" label="GitLab CI">
<CodeBlock language="yaml" title=".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
.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
build:
extends: .fluentci
script: - fluentci run --wasm buildx build
`}

</CodeBlock>
</TabItem>
<TabItem value="circleci" label="Circle CI">
<CodeBlock language="yaml" title=".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 buildx build
name: build
machine:
image: ubuntu-2004:2023.07.1
workflows:
fluentci:
jobs:
- job`}
</CodeBlock>
</TabItem>
<TabItem value="azure" label="Azure Pipelines">
<CodeBlock language="yaml" title="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 buildx build
displayName: build`}
</CodeBlock>
</TabItem>
<TabItem value="aws" label="AWS CodePipeline">
<CodeBlock language="yaml" title="buildspec.yml">
{`version: 0.2
phases:
install:
commands:
- curl -fsSL https://cli.fluentci.io | bash
- fluentci --version
build:
commands:
- fluentci run --wasm buildx build
post_build:
commands:
- echo Build completed on \`date\``}
</CodeBlock>
</TabItem>
</Tabs>
24 changes: 0 additions & 24 deletions docs/cookbook/build-deno.md

This file was deleted.

Loading

0 comments on commit caaf376

Please sign in to comment.