Mam prostą apke Springową, w której ustawiam
<properties>
<java.version>17</java.version>
</properties>
oraz
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
Następnie, w Dockerfile
mam
FROM maven:3.5.2 AS MAVEN_BUILD
WORKDIR /usr/build
COPY pom.xml /usr/build/
COPY src /usr/build/src
RUN mvn clean install
FROM openjdk:17
WORKDIR /usr/myapp
COPY --from=MAVEN_BUILD /usr/build/target/myapp-0.0.1.jar /usr/myapp/myapp.jar
EXPOSE 8080
CMD java -jar myapp.jar
I to działa gdy odpalam to lokalnie, niestety, na GitLabie już nie.
Poniżej moj gitlab-ci
stages:
- build
docker-build:
image: docker:latest
stage: build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE" .
- docker push "$CI_REGISTRY_IMAGE"
Który kończy się błędem
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project question-service: Fatal error compiling: invalid target release: 17 -> [Help 1]
Ktoś jest w stanie powiedzieć mi czemu?
Shalom