CI를 위한 .gitlab-ci.yml 파일 내용
variables:
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
CI_REGISTRY_IMAGE: "mjg7822/dreams"
image: maven:3.6.3-openjdk-11
cache:
paths:
- .m2/repository
stages:
- build
- test
- package
maven-build:
image: maven:3.6.3-openjdk-11
stage: build
only:
- master
- staging
- main
script: "./mvnw clean package"
# script:
# - mvn clean package -Dmaven.test.skip=true
artifacts:
paths:
- target/*.jar
maven-test:
stage: test
script: "./mvnw test"
docker-build:
image: docker:latest
stage: package
services:
- docker:dind
before_script:
- docker login -u $DOCKER_ID -p $DOCKER_PWD
script:
- docker pull ${CI_REGISTRY_IMAGE}:latest #|| true
- docker build --cache-from ${CI_REGISTRY_IMAGE}:latest --tag ${CI_REGISTRY_IMAGE}:234 --tag ${CI_REGISTRY_IMAGE}:latest .
- docker push ${CI_REGISTRY_IMAGE}:234
- docker push ${CI_REGISTRY_IMAGE}:latest