Add docker and coverage report configuraion 49/11549/1
authoraravind.est <aravindhan.a@est.tech>
Fri, 4 Aug 2023 16:38:29 +0000 (17:38 +0100)
committeraravind.est <aravindhan.a@est.tech>
Fri, 4 Aug 2023 16:43:49 +0000 (17:43 +0100)
Add docker and coverage report configuraion for jenkins job.

Issue-ID: NONRTRIC-902
Signed-off-by: aravind.est <aravindhan.a@est.tech>
Change-Id: Ifcdf41a12cb21b202de03612d0b7ce6e48f7fe33

pom.xml
rapp-manager-application/Dockerfile [new file with mode: 0755]
rapp-manager-application/pom.xml
rapp-manager-application/src/main/resources/application.yaml
rapp-manager-models/src/main/java/com/oransc/rappmanager/models/cache/RappCacheService.java

diff --git a/pom.xml b/pom.xml
index 5250e43..e512d7c 100755 (executable)
--- a/pom.xml
+++ b/pom.xml
     <properties>
         <java.version>17</java.version>
         <openapi.maven.version>6.6.0</openapi.maven.version>
     <properties>
         <java.version>17</java.version>
         <openapi.maven.version>6.6.0</openapi.maven.version>
+        <docker-maven-plugin>0.43.2</docker-maven-plugin>
+        <jacoco-maven-plugin.version>0.8.10</jacoco-maven-plugin.version>
     </properties>
     </properties>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skipTests>false</skipTests>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <version>${jacoco-maven-plugin.version}</version>
+                <executions>
+                    <execution>
+                        <id>default-prepare-agent</id>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>default-report</id>
+                        <phase>prepare-package</phase>
+                        <goals>
+                            <goal>report</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+    <issueManagement>
+        <system>JIRA</system>
+        <url>https://jira.o-ran-sc.org/</url>
+    </issueManagement>
 </project>
 </project>
diff --git a/rapp-manager-application/Dockerfile b/rapp-manager-application/Dockerfile
new file mode 100755 (executable)
index 0000000..fc91c1f
--- /dev/null
@@ -0,0 +1,62 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2023 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+FROM openjdk:17-jdk as jre-build
+
+RUN $JAVA_HOME/bin/jlink \
+--verbose \
+--add-modules ALL-MODULE-PATH \
+--strip-debug \
+--no-man-pages \
+--no-header-files \
+--compress=2 \
+--output /customjre
+
+# Use debian base image (same as openjdk uses)
+FROM debian:11-slim
+
+ENV JAVA_HOME=/jre
+ENV PATH="${JAVA_HOME}/bin:${PATH}"
+
+#copy JRE from the base image
+COPY --from=jre-build /customjre $JAVA_HOME
+
+ARG JAR
+
+WORKDIR /opt/app/rappmanager
+
+EXPOSE 8080
+
+ADD src/main/resources/application.yaml /opt/app/rappmanager/config/application.yaml
+ADD target/${JAR} /opt/app/rappmanager/rappmanager.jar
+
+ARG user=nonrtric
+ARG group=nonrtric
+
+RUN groupadd $user && \
+    useradd -r -g $group $user
+RUN chown -R $user:$group /opt/app/rappmanager
+
+USER ${user}
+
+CMD ["/jre/bin/java", "-jar", "/opt/app/rappmanager/rappmanager.jar"]
+
+
+
+
index c88f1fe..7ebc145 100755 (executable)
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    <excludes>
-                        <exclude>
-                            <groupId>org.projectlombok</groupId>
-                            <artifactId>lombok</artifactId>
-                        </exclude>
-                    </excludes>
-                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>io.fabric8</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <version>${docker-maven-plugin}</version>
+                <inherited>false</inherited>
+                <executions>
+                    <execution>
+                        <id>generate-nonrtric-plt-rappmanager-image</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                        <configuration>
+                            <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                            <images>
+                                <image>
+                                    <name>
+                                        o-ran-sc/nonrtric-plt-rappmanager:${project.version}
+                                    </name>
+                                    <build>
+                                        <cleanup>try</cleanup>
+                                        <contextDir>${project.basedir}</contextDir>
+                                        <dockerFile>Dockerfile</dockerFile>
+                                        <args>
+                                            <JAR>${project.build.finalName}.jar</JAR>
+                                        </args>
+                                        <tags>
+                                            <tag>${project.version}</tag>
+                                        </tags>
+                                    </build>
+                                </image>
+                            </images>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>push-nonrtric-plt-rappmanager-image</id>
+                        <goals>
+                            <goal>build</goal>
+                            <goal>push</goal>
+                        </goals>
+                        <configuration>
+                            <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
+                            <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
+                            <images>
+                                <image>
+                                    <name>
+                                        o-ran-sc/nonrtric-plt-rappmanager:${project.version}
+                                    </name>
+                                    <build>
+                                        <contextDir>${project.basedir}</contextDir>
+                                        <dockerFile>Dockerfile</dockerFile>
+                                        <args>
+                                            <JAR>${project.build.finalName}.jar</JAR>
+                                        </args>
+                                        <tags>
+                                            <tag>${project.version}</tag>
+                                            <tag>latest</tag>
+                                        </tags>
+                                    </build>
+                                </image>
+                            </images>
+                        </configuration>
+                    </execution>
+                </executions>
             </plugin>
         </plugins>
     </build>
             </plugin>
         </plugins>
     </build>
-
 </project>
\ No newline at end of file
 </project>
\ No newline at end of file
index 987214f..0672fd2 100755 (executable)
@@ -1,5 +1,5 @@
 rappmanager:
 rappmanager:
-  csarlocation: src/main/resources/csar
+  csarlocation: src/test/resources/csar
   acm:
     baseurl: http://10.101.3.22:30442/onap/policy/clamp/acm/v2/
     username: runtimeUser
   acm:
     baseurl: http://10.101.3.22:30442/onap/policy/clamp/acm/v2/
     username: runtimeUser
index 49a6dfc..ea34ae3 100755 (executable)
@@ -19,7 +19,6 @@
 package com.oransc.rappmanager.models.cache;
 
 import com.oransc.rappmanager.models.rapp.Rapp;
 package com.oransc.rappmanager.models.cache;
 
 import com.oransc.rappmanager.models.rapp.Rapp;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;