-
Notifications
You must be signed in to change notification settings - Fork 7
/
.gitlab-ci.yml
34 lines (32 loc) · 1.07 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
stages:
- build
- docker-build
cache:
paths:
- .m2/repository
build:
stage: build
image: maven:3.8.1-openjdk-11
variables:
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Djava.awt.headless=true"
MAVEN_CLI_OPTS: "--batch-mode --errors --debug --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
script:
- mvn clean package
artifacts:
paths:
- target/*.jar
expire_in: 1 week
docker-build:
stage: docker-build
image: docker:latest
services:
- docker:dind
dependencies:
- build
script:
- docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY}
- set -e
- docker build --file docker/Dockerfile -t ${CI_REGISTRY_IMAGE}/olss-demo-app:${CI_COMMIT_SHORT_SHA} .
- docker tag ${CI_REGISTRY_IMAGE}/olss-demo-app:${CI_COMMIT_SHORT_SHA} ${CI_REGISTRY_IMAGE}/olss-demo-app:${CI_COMMIT_REF_NAME}-latest
- docker push ${CI_REGISTRY_IMAGE}/olss-demo-app:${CI_COMMIT_SHORT_SHA}
- docker push ${CI_REGISTRY_IMAGE}/olss-demo-app:${CI_COMMIT_REF_NAME}-latest