-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
update cookbook, add CI integrations examples
- Loading branch information
Showing
58 changed files
with
4,400 additions
and
743 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.