diff options
author | kaixiliu <liukaixi@chinamobile.com> | 2024-06-17 10:00:26 +0800 |
---|---|---|
committer | kaixiliu <liukaixi@chinamobile.com> | 2024-06-17 10:00:43 +0800 |
commit | e80fb3bade9224fdf2c768a643f7d75a331bc683 (patch) | |
tree | 997d8ae42bf752e97ed91ecada9a9f68c85f58cb | |
parent | 8b1c6bb2a063b0c4294f8ea2a54420b28da5df4d (diff) |
Add Dockerfile
Issue-ID: USECASEUI-838
Change-Id: I519549d1180cf8e72c8a4ecb5d7e4f7ef9d4a5bb
Signed-off-by: kaixiliu <liukaixi@chinamobile.com>
-rw-r--r-- | llm-adaptation/pom.xml | 29 | ||||
-rw-r--r-- | pom.xml | 1 | ||||
-rw-r--r-- | standalone/pom.xml | 192 | ||||
-rw-r--r-- | standalone/src/main/assembly/Dockerfile | 18 |
4 files changed, 239 insertions, 1 deletions
diff --git a/llm-adaptation/pom.xml b/llm-adaptation/pom.xml index 8917255..74ff409 100644 --- a/llm-adaptation/pom.xml +++ b/llm-adaptation/pom.xml @@ -68,5 +68,32 @@ <artifactId>lombok</artifactId> </dependency> </dependencies> - + <build> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <version>3.0.11</version> + <configuration> + <executable>true</executable> + </configuration> + <executions> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.11.0</version> + <configuration> + <source>17</source> + <target>17</target> + </configuration> + </plugin> + </plugins> + </build> </project>
\ No newline at end of file @@ -31,6 +31,7 @@ <packaging>pom</packaging> <modules> <module>llm-adaptation</module> + <module>standalone</module> </modules> <properties> diff --git a/standalone/pom.xml b/standalone/pom.xml new file mode 100644 index 0000000..0aae140 --- /dev/null +++ b/standalone/pom.xml @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.onap.usecase-ui.llm-adaptation</groupId> + <artifactId>usecase-ui-llm-adaptation-parent</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> + + <artifactId>standalone</artifactId> + <version>1.0-SNAPSHOT</version> + + <properties> + <adaptation.version>1.0</adaptation.version> + <java.version>17</java.version> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> + <linux64outputdir>target/assembly/linux64</linux64outputdir> + <dockeroutput>target/version/${adaptation.version}</dockeroutput> + </properties> + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.onap.usecase-ui.llm-adaptation</groupId> + <artifactId>usecase-ui-llm-adaptation</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + </dependencyManagement> + + <build> + <finalName>usecse-ui-llm-adaptation</finalName> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <executions> + <execution> + <id>copy-resources-linux64</id> + <phase>process-resources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${linux64outputdir}</outputDirectory> + <resources> + <resource> + <directory>src/main/assembly/</directory> + <filtering>false</filtering> + <includes> + <include>**/*</include> + </includes> + <excludes> + <exclude>Dockerfile</exclude> + </excludes> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + <execution> + <id>copy-dockerfile</id> + <phase>process-resources</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>${dockeroutput}</outputDirectory> + <resources> + <resource> + <directory>src/main/assembly/</directory> + <filtering>false</filtering> + <includes> + <include>Dockerfile</include> + </includes> + </resource> + </resources> + <overwrite>true</overwrite> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>2.8</version> + <executions> + <execution> + <id>copy-jar-linux64</id> + <goals> + <goal>copy</goal> + </goals> + <phase>prepare-package</phase> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.onap.usecase-ui.llm-adaptation</groupId> + <artifactId>usecase-ui-llm-adaptation</artifactId> + <type>jar</type> + <overWrite>true</overWrite> + <outputDirectory>${linux64outputdir}</outputDirectory> + <destFileName>usecase-ui-llm-adaptation.jar</destFileName> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <version>1.8</version> + <executions> + <execution> + <id>distribution</id> + <phase>package</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <tasks name="${project.artifactId}"> + <tar destfile="${dockeroutput}/usecase-ui-llm-adaptation-${project.version}-linux64.tar.gz" longfile="posix" compression="gzip"> + <tarfileset dir="${linux64outputdir}" filemode="0644" dirmode="0755"> + <exclude name="**/*.sh"/> + </tarfileset> + <tarfileset dir="${linux64outputdir}" filemode="0755" dirmode="0755"> + <include name="**/*.sh"/> + </tarfileset> + </tar> + <attachartifact file="${dockeroutput}/usecase-ui-llm-adaptation-${project.version}-linux64.tar.gz" classifier="linux64" type="tar.gz"/> + </tasks> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <profiles> + <profile> + <id>docker</id> + <build> + <plugins> + <plugin> + <groupId>io.fabric8</groupId> + <artifactId>docker-maven-plugin</artifactId> + <version>0.16.5</version> + <inherited>false</inherited> + <configuration> + <images> + <image> + <name>onap/usecase-ui-llm-adaptation</name> + <build> + <cleanup>try</cleanup> + <dockerFileDir>${basedir}/${dockeroutput}</dockerFileDir> + <dockerFile>${basedir}/${dockeroutput}/Dockerfile</dockerFile> + <tags> + <tag>${adaptation.version}-SNAPSHOT-latest</tag> + <tag>${adaptation.version}-STAGING-latest</tag> + <tag>${adaptation.version}-STAGING-${maven.build.timestamp}</tag> + </tags> + </build> + </image> + </images> + </configuration> + <executions> + <execution> + <id>generate-images</id> + <phase>package</phase> + <goals> + <goal>build</goal> + </goals> + </execution> + <execution> + <id>push-images</id> + <phase>deploy</phase> + <goals> + <goal>build</goal> + <goal>push</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project>
\ No newline at end of file diff --git a/standalone/src/main/assembly/Dockerfile b/standalone/src/main/assembly/Dockerfile new file mode 100644 index 0000000..bfd5ede --- /dev/null +++ b/standalone/src/main/assembly/Dockerfile @@ -0,0 +1,18 @@ +FROM nexus3.onap.org:10001/onap/integration-java17:12.0.0 + +USER root + +RUN mkdir /home/uui + +ADD usecase-ui-llm-adaptation-*-linux64.tar.gz /home/uui/ + +WORKDIR /home/uui + +EXPOSE 8084 + +RUN addgroup -S uui && adduser -S uui -G uui && chown -R uui:uui /home/uui + +USER uui +WORKDIR /home/uui +ENTRYPOINT ["sh", "-c"] +CMD ["exec java -jar /home/uui/usecase-ui-llm-adaptation-linux64.jar"]
\ No newline at end of file |