From 07217f3f8164e20938f1e5dd8341306b21493e4b Mon Sep 17 00:00:00 2001 From: Kostis Trantzas Date: Thu, 23 Jul 2026 01:46:38 +0300 Subject: [PATCH] fix for #2: Adding deployment artifacts and gitlab CIs --- .gitlab-ci.yml | 41 +++++++++++++++++++++++++++++++++++++++++ Dockerfile | 21 +++++++++++---------- README.md | 2 +- ci_settings.xml | 17 +++++++++++++++++ compose.yml | 31 +++++++++++++++++++++++++++++++ pom.xml | 4 ++-- 6 files changed, 103 insertions(+), 13 deletions(-) create mode 100644 .gitlab-ci.yml create mode 100644 ci_settings.xml create mode 100644 compose.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..e5ec948 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,41 @@ +include: + - project: osl/code/org.etsi.osl.main + ref: main + file: + - ci-templates/default.yml + - ci-templates/build.yml + rules: + - if: '$CI_COMMIT_REF_NAME == "main"' + + - project: osl/code/org.etsi.osl.main + ref: develop + file: + - ci-templates/default.yml + - ci-templates/build.yml + rules: + - if: '$CI_COMMIT_REF_NAME == "develop"' + + - project: osl/code/org.etsi.osl.main + ref: $CI_COMMIT_REF_NAME + file: + - ci-templates/default.yml + - ci-templates/build.yml + rules: + - if: '$CI_COMMIT_REF_PROTECTED == "true" && $CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop"' + + - project: osl/code/org.etsi.osl.main + ref: develop + file: + - ci-templates/default.yml + - ci-templates/build_unprotected.yml + rules: + - if: '$CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_PROTECTED == "false"' + +maven_build: + extends: .maven_build + +docker_build: + extends: .docker_build + needs: + - maven_build + diff --git a/Dockerfile b/Dockerfile index 50d98a5..c3faee1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,18 @@ # Multi-stage build for TFS Controller # Stage 1: Build the application -FROM maven:3.9.6-eclipse-temurin-17 AS builder +# FROM maven:3.9.6-eclipse-temurin-17 AS builder -WORKDIR /build +# WORKDIR /build -# Copy pom.xml and download dependencies -COPY pom.xml . -RUN mvn dependency:go-offline -B +# # Copy pom.xml and download dependencies +# COPY pom.xml . +# RUN mvn dependency:go-offline -B -# Copy source code -COPY src ./src +# # Copy source code +# COPY src ./src -# Build the application -RUN mvn clean package -DskipTests +# # Build the application +# RUN mvn clean package -DskipTests # Stage 2: Runtime image FROM eclipse-temurin:17-jdk-alpine @@ -20,7 +20,8 @@ FROM eclipse-temurin:17-jdk-alpine WORKDIR /app # Copy the built JAR from builder stage -COPY --from=builder /build/target/org.etsi.osl.controllers.ietf.ns-0.0.1-SNAPSHOT.jar app.jar +# COPY --from=builder /build/target/org.etsi.osl.controllers.ietf.ns-0.0.9-SNAPSHOT.jar app.jar +COPY target/org.etsi.osl.controllers.ietf.ns-0.0.9-SNAPSHOT.jar app.jar # Run the application ENTRYPOINT ["java", "-jar", "app.jar"] diff --git a/README.md b/README.md index beb39dc..b96d407 100644 --- a/README.md +++ b/README.md @@ -393,7 +393,7 @@ mvn clean package mvn spring-boot:run # Run packaged JAR -java -jar target/org.etsi.osl.controllers.ietf.ns-0.0.1-SNAPSHOT.jar +java -jar target/org.etsi.osl.controllers.ietf.ns-0.0.9-SNAPSHOT.jar # Build without tests mvn clean package -DskipTests diff --git a/ci_settings.xml b/ci_settings.xml new file mode 100644 index 0000000..eade238 --- /dev/null +++ b/ci_settings.xml @@ -0,0 +1,17 @@ + + + + gitlab-maven + + + + Job-Token + ${CI_JOB_TOKEN} + + + + + + + diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..1cdf127 --- /dev/null +++ b/compose.yml @@ -0,0 +1,31 @@ +services: + osl-ietf-ns-controller: + build: + context: . + dockerfile: Dockerfile + image: labs.etsi.org:5050/osl/code/addons/org.etsi.controllers.ietf.ns:develop + container_name: osl-ietf-ns-controller + restart: always + profiles: ["dev", "prod"] + environment: + SPRING_ACTIVEMQ_BROKERURL: tcp://anartemis:61616?jms.watchTopicAdvisories=false + SPRING_ACTIVEMQ_USER: artemis + SPRING_ACTIVEMQ_PASSWORD: artemis + RESTCONF_PROVIDERURL: "http://nscontroller:8085" + RESTCONF_AUTHMETHOD: "basic" + RESTCONF_AUTH_USERNAME: "admin" + RESTCONF_AUTH_PASSWORD: "admin" + RESTCONF_APIVERSION: "2025-05-09" + LOGGING_LEVEL_ORG_SPRINGFRAMEWORK: INFO + logging: + driver: "json-file" + options: + max-size: "250m" + max-file: "2" + networks: + - compose_back + +networks: + compose_back: + external: true + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 27d1fc8..3c52ffc 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.etsi.osl org.etsi.osl.controllers.ietf.ns - 0.0.1-SNAPSHOT + 0.0.9-SNAPSHOT org.etsi.osl.controllers.ietf.ns org.etsi.osl.controllers.ietf.ns @@ -24,7 +24,7 @@ 1.7.0 1.7.0 22.0.1 - 1.1.0-SNAPSHOT + 1.4.0 -- GitLab