60 lines
1.5 KiB
YAML
60 lines
1.5 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: ci
|
|
|
|
environment:
|
|
DOCKER_BUILDKIT: 1
|
|
|
|
steps:
|
|
- name: test-and-jar
|
|
image: gradle:8.10.2-jdk21
|
|
# No host volumes; keep cache in the container layer only
|
|
commands:
|
|
- gradle --version
|
|
- gradle --no-daemon clean test bootJar
|
|
|
|
- name: build-image
|
|
image: plugins/docker
|
|
settings:
|
|
registry: rubble.se:5000
|
|
repo: rubble.se:5000/hemhub/api
|
|
dockerfile: Dockerfile
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
tags:
|
|
- ${DRONE_BRANCH/\//-}-${DRONE_COMMIT_SHA:0:7}
|
|
- latest
|
|
buildkit: true
|
|
labels:
|
|
org.opencontainers.image.source: ${DRONE_GIT_HTTP_URL}
|
|
org.opencontainers.image.revision: ${DRONE_COMMIT_SHA}
|
|
org.opencontainers.image.created: ${DRONE_BUILD_FINISHED}
|
|
org.opencontainers.image.version: ${DRONE_TAG:-${DRONE_COMMIT_SHA:0:7}}
|
|
|
|
- name: publish-tag
|
|
image: plugins/docker
|
|
settings:
|
|
registry: rubble.se:5000
|
|
repo: rubble.se:5000/hemhub/api
|
|
dockerfile: Dockerfile
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
tags:
|
|
- ${DRONE_TAG}
|
|
buildkit: true
|
|
labels:
|
|
org.opencontainers.image.source: ${DRONE_GIT_HTTP_URL}
|
|
org.opencontainers.image.revision: ${DRONE_COMMIT_SHA}
|
|
org.opencontainers.image.created: ${DRONE_BUILD_FINISHED}
|
|
org.opencontainers.image.version: ${DRONE_TAG}
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
- tag
|