summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml27
-rw-r--r--docker/assembly.xml19
-rw-r--r--pom.xml70
3 files changed, 66 insertions, 50 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 96f075d..72902fc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,8 +1,9 @@
+image: 192.168.40.153:8082/common/docker:26.1.4-maven-3.8.8-amazon-corretto-11-alpine
+
variables:
MAVEN_CLI_OPTS: --batch-mode --errors --show-version
SONAR_HOST_URL: http://192.168.40.153:9900
SONAR_PROJECT_KEY: saved-query-scheduler
- SONAR_LOGIN_TOKEN: 921363353ba26a612fc4ec77679647780f9a46e7
stages:
- build
@@ -14,35 +15,33 @@ build:
script:
- echo 'exec mvn clean package'
- echo 'tag:' $CI_COMMIT_TAG
- - mvn clean package -Dmaven.test.skip=true
+ - echo "$MAVEN_SETTINGS_XML" > /usr/share/maven/conf/settings.xml
+ - mvn $MAVEN_CLI_OPTS clean package -DskipTests
only:
- tags
- tags:
- - galaxy
+
clean:
stage: clean
script:
- echo 'build job fail, exec mvn clean'
- echo 'tag:' $CI_COMMIT_TAG
- - mvn clean
+ - mvn $MAVEN_CLI_OPTS clean
when: on_failure
only:
- tags
- tags:
- - galaxy
+
deploy:
stage: deploy
script:
- echo 'exec mvn package & docker build'
- echo 'tag:' $CI_COMMIT_TAG
- - |-
+ - echo "$MAVEN_SETTINGS_XML" > /usr/share/maven/conf/settings.xml
+ - |-
mvn $MAVEN_CLI_OPTS clean verify sonar:sonar -Dsonar.projectKey=$SONAR_PROJECT_KEY \
- -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_LOGIN_TOKEN \
- -Dsonar.qualitygate.wait=true -Dsonar.qualitygate.timeout=300
- - mvn clean package -Dmaven.test.skip=true docker:build -DdockerImageTags=$CI_COMMIT_TAG
+ -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_LOGIN_TOKEN \
+ -Dsonar.qualitygate.wait=true -Dsonar.qualitygate.timeout=300
+ - mvn clean package -Dmaven.test.skip=true docker:build docker:push -Dv=$CI_COMMIT_TAG
when: on_success
only:
- - tags
- tags:
- - galaxy \ No newline at end of file
+ - tags \ No newline at end of file
diff --git a/docker/assembly.xml b/docker/assembly.xml
new file mode 100644
index 0000000..132b78d
--- /dev/null
+++ b/docker/assembly.xml
@@ -0,0 +1,19 @@
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/2.2.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/2.2.0 http://maven.apache.org/xsd/assembly-2.2.0.xsd">
+
+ <fileSets>
+ <fileSet>
+ <directory>${project.build.directory}</directory>
+ <outputDirectory>/</outputDirectory>
+ <includes>
+ <include>${project.build.finalName}.xjar</include>
+ <include>xjar.go</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>config</directory>
+ <outputDirectory>/config</outputDirectory>
+ </fileSet>
+ </fileSets>
+</assembly>
diff --git a/pom.xml b/pom.xml
index db42d5c..e16c176 100644
--- a/pom.xml
+++ b/pom.xml
@@ -334,46 +334,44 @@
</executions>
</plugin>
<plugin>
- <groupId>com.spotify</groupId>
+ <groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
- <version>1.0.0</version>
+ <version>0.45.0</version>
<configuration>
- <serverId>153-nexus-docker-repo</serverId>
- <registryUrl>${docker.registry}:${docker.registry.port}</registryUrl>
- <pushImage>true</pushImage>
- <forceTags>true</forceTags>
- <imageName>${docker.registry}:${docker.registry.port}/${docker.image.prefix}/${project.artifactId}
- </imageName>
<dockerHost>http://${docker.build}:${docker.build.port}</dockerHost>
- <dockerDirectory>docker</dockerDirectory>
- <buildArgs>
- <JDK_IMAGE>${docker.registry}:${docker.registry.port}/common/amazon-corretto:11.0.21.9.1-alpine3.18</JDK_IMAGE>
- <GO_IMAGE>${docker.registry}:${docker.registry.port}/common/golang:1.15.6</GO_IMAGE>
- <JAR_FILE>${project.build.finalName}.xjar</JAR_FILE>
- </buildArgs>
- <imageTags>
- <imageTag>22.12.07</imageTag>
- </imageTags>
- <resources>
- <resource>
- <targetPath>/</targetPath>
- <directory>${project.build.directory}</directory>
- <include>${project.build.finalName}.xjar</include>
- <include>xjar.go</include>
- </resource>
- <resource>
- <targetPath>/config</targetPath>
- <directory>config</directory>
- </resource>
- </resources>
+ <registry>${docker.registry}:${docker.registry.port}</registry>
+ <images>
+ <image>
+ <name>
+ ${docker.registry}:${docker.registry.port}/${docker.image.prefix}/${project.artifactId}:${v}
+ </name>
+ <build>
+ <assembly>
+ <name>/</name>
+ <descriptor>${project.basedir}/docker/assembly.xml</descriptor>
+ </assembly>
+ <args>
+ <JDK_IMAGE>
+ ${docker.registry}:${docker.registry.port}/common/amazon-corretto:11.0.21.9.1-alpine3.18-multi
+ </JDK_IMAGE>
+ <GO_IMAGE>
+ ${docker.registry}:${docker.registry.port}/common/golang:1.15.6-multi
+ </GO_IMAGE>
+ <JAR_FILE>
+ ${project.build.finalName}.xjar
+ </JAR_FILE>
+ </args>
+ <dockerFile>${project.basedir}/docker/Dockerfile</dockerFile>
+ <buildx>
+ <builderName>olap_builder</builderName>
+ <platforms>
+ <platform>linux/amd64,linux/arm64</platform>
+ </platforms>
+ </buildx>
+ </build>
+ </image>
+ </images>
</configuration>
- <dependencies>
- <dependency>
- <groupId>javax.activation</groupId>
- <artifactId>activation</artifactId>
- <version>1.1.1</version>
- </dependency>
- </dependencies>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>