spring-petclinic/.gitlab-ci.yml
2026-01-22 01:28:43 +04:00

73 lines
No EOL
1.4 KiB
YAML

stages:
- checkstyle
- test
- build
- docker
variables:
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
IMAGE_MR: "$CI_REGISTRY_IMAGE/mr:$CI_COMMIT_SHORT_SHA"
IMAGE_MAIN: "$CI_REGISTRY_IMAGE/main:latest"
checkstyle:
stage: checkstyle
image: maven:3.8.5-openjdk-17
script:
- mvn checkstyle:checkstyle -Dcheckstyle.failOnViolation=false
artifacts:
when: always
paths:
- target/checkstyle-result.xml
only:
- merge_requests
test:
stage: test1
image: maven:3.8.5-openjdk-17
script:
- mvn test -Dcheckstyle.skip=true -Dnohttp.skip=true
only:
- merge_requests
build:
stage: build
image: maven:3.8.5-openjdk-17
script:
- mvn package -DskipTests -Dcheckstyle.skip=true -Dnohttp.skip=true
artifacts:
paths:
- target/*.jar
only:
- merge_requests
docker-build-mr:
stage: docker
image: docker:24
services:
- docker:24-dind
variables:
DOCKER_TLS_CERTDIR: ""
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -t $IMAGE_MR .
- docker push $IMAGE_MR
only:
- merge_requests
docker-build-main:
stage: docker
image: docker:24
services:
- docker:24-dind
variables:
DOCKER_TLS_CERTDIR: ""
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -t $IMAGE_MAIN .
- docker push $IMAGE_MAIN
only:
- main