59 lines
1.4 KiB
YAML
59 lines
1.4 KiB
YAML
image: openjdk:11-jdk-slim
|
|
|
|
stages:
|
|
- build
|
|
- test
|
|
- publish
|
|
|
|
before_script:
|
|
- echo "---------- Start CI ----------"
|
|
- export GRADLE_USER_HOME=`pwd`/.gradle
|
|
- chmod +x gradlew
|
|
|
|
build:
|
|
stage: build
|
|
script:
|
|
- echo "---------- build stage ----------"
|
|
- ./gradlew --build-cache assemble
|
|
artifacts:
|
|
paths:
|
|
- build/libs/*.jar
|
|
expire_in: 1 week
|
|
|
|
test:
|
|
stage: test
|
|
image: docker:latest
|
|
services:
|
|
- docker:dind
|
|
dependencies:
|
|
- build
|
|
before_script:
|
|
- echo "---------- BEFORE -------------"
|
|
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
|
script:
|
|
- echo "---------- TEST -------------"
|
|
- apk update && apk add bash openjdk11
|
|
- export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
|
|
- docker build --pull -t "$CI_REGISTRY_IMAGE" .
|
|
- docker run --privileged -dit --name provs_test -v /var/run/docker.sock:/var/run/docker.sock $CI_REGISTRY_IMAGE
|
|
- docker inspect -f '{{.State.Running}}' provs_test
|
|
- ./gradlew test -Dtestdockerwithoutsudo=true
|
|
artifacts:
|
|
when: on_failure
|
|
paths:
|
|
- build/reports/tests/test
|
|
reports:
|
|
junit: build/test-results/test/TEST-*.xml
|
|
|
|
publish:
|
|
stage: publish
|
|
script:
|
|
- ./gradlew jar
|
|
- ./gradlew publish
|
|
artifacts:
|
|
paths:
|
|
- build/libs/*.jar
|
|
expire_in: 2 months
|
|
|
|
after_script:
|
|
- echo "---------- End CI ----------"
|