55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
---
|
|
variables:
|
|
- &java_image "gradle:8.5.0-jdk21@sha256:d64047f74f0aefaae35916a3d29a2d8d5890bc4a5cc8f8d14f898c0afb5c8a16"
|
|
when:
|
|
path: "app/**"
|
|
event: [push, tag]
|
|
clone:
|
|
git:
|
|
image: woodpeckerci/plugin-git@sha256:7af90de3a9aa5dc93cc0d5cd2e67e28cb237d4b8e891ccacfd9031f78f4b05a8
|
|
settings:
|
|
skip_verify: true
|
|
partial: false
|
|
tags: true
|
|
steps:
|
|
"prepare:version":
|
|
image: bitnami/git:2.43.0@sha256:3932583adf73c9e7e75232c0a3637fb0ff7833d7a81c858e74468df0dbd89cf1
|
|
commands:
|
|
- . ./version.sh
|
|
"lint:style":
|
|
image: *java_image
|
|
commands:
|
|
- gradle --no-daemon spotlessCheck
|
|
depends_on: ["prepare:version"]
|
|
"lint:dockerfile":
|
|
image: ghcr.io/hadolint/hadolint:latest-debian@sha256:9cef74a390694cdc01dd119cbba9adac5bb6671ce67d8d79eb7ec68f497a3684
|
|
commands:
|
|
- hadolint --version
|
|
depends_on: ["prepare:version"]
|
|
"build:java":
|
|
depends_on:
|
|
- lint:style
|
|
- lint:dockerfile
|
|
image: *java_image
|
|
commands:
|
|
- . ./version-lock.sh
|
|
- ./gradlew -Pversion=$CD_CURRENT_VERSION build
|
|
"analyze:sbom":
|
|
depends_on: ["build:java"]
|
|
image: *java_image
|
|
commands:
|
|
- ./gradlew cyclonedxBom
|
|
|
|
"deploy:backend":
|
|
depends_on: ["analyze:sbom"]
|
|
image: alpine:latest@sha256:c5b1261d6d3e43071626931fc004f70149baeba2c8ec672bd4f27761f8e1ad6b
|
|
commands:
|
|
- echo "deploy backend"
|
|
- env
|
|
directory: backend
|
|
when:
|
|
- event: [deployment]
|
|
|
|
depends_on:
|
|
- "lint_general"
|