Build and test Java applications
This guide will help you build and test Java applications with FluentCI.
Before you begin
- Be familiar with creating Java-based applications.
- Be familiar with Maven
- Have your Java project ready.
Using the Maven Plugin
You can use FluentCI to build Java applications using maven plugin, no need to install Maven or JDK on your machine, FluentCI will handle everything for you.
The following commands can be used to build and test Java applications:
fluentci run --wasm maven test
fluentci run --wasm maven package -Dmaven.test.skip=true
CI/CD pipeline integrations
The following examples show how to integrate FluentCI with popular CI providers to build and test Java applications:
- 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: test
run: fluentci run --wasm maven test
- name: package
run: fluentci run --wasm maven package -Dmaven.test.skip=true
.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
test:
extends: .fluentci
script:
- fluentci run --wasm maven test
package:
extends: .fluentci
script:
- fluentci run --wasm maven package -Dmaven.test.skip=true
.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 maven test
name: test
- run: fluentci run --wasm maven package -Dmaven.test.skip=true
name: package
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 maven test
displayName: test
- script: fluentci run --wasm maven package -Dmaven.test.skip=true
displayName: package
buildspec.yml
version: 0.2
phases:
install:
commands:
- curl -fsSL https://cli.fluentci.io | bash
- fluentci --version
build:
commands:
- fluentci run --wasm maven test
- fluentci run --wasm maven package -Dmaven.test.skip=true
post_build:
commands:
- echo Build completed on `date`