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`