diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..eb81edda0645763bb29f8524ef811a54f0b4db3d
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,42 @@
+stages:
+  - build
+  - test
+  - deploy
+
+build_gms_client:
+  stage: build
+  tags:
+    - docker
+  script:
+    - cd gms-client/gms-client
+    - mvn clean package -DskipTests -DfinalName=gms-client
+  artifacts:
+    paths:
+      - gms-client/gms-client/target/gms-client.jar
+      - gms-client/gms-client/pom.xml
+    expire_in: 7 days
+  only:
+    - master
+
+test_gms_client:
+  stage: test
+  tags:
+    - docker
+  script:
+    - cd gms-client/gms-client
+    - mvn clean test
+  only:
+    - master
+
+deploy_gms_client:
+  stage: deploy
+  tags:
+    - docker
+  script:
+    - mvn deploy:deploy-file
+        -Dfile=gms-client/gms-client/target/gms-client.jar
+        -DrepositoryId=ia2.snapshots
+        -DpomFile=gms-client/gms-client/pom.xml
+        -Durl=${IA2_MVN_REPO_SNAPSHOTS}
+  only:
+    - master
diff --git a/gms-client/gms-client/pom.xml b/gms-client/gms-client/pom.xml
index 4edf264fa6acba1996f89fe30295bf89dccd206e..f86e4b8ee770d5be0ba420f6d2eb029a1175fad9 100644
--- a/gms-client/gms-client/pom.xml
+++ b/gms-client/gms-client/pom.xml
@@ -11,6 +11,7 @@
         <maven.compiler.target>14</maven.compiler.target>
         <junit-jupiter.version>5.6.0</junit-jupiter.version>
         <mockito.version>3.5.13</mockito.version>
+        <finalName>${project.artifactId}-${project.version}</finalName>
     </properties>
     <dependencies>
         <dependency>
@@ -56,6 +57,7 @@
         </dependency>
     </dependencies>
     <build>
+        <finalName>${finalName}</finalName>
         <plugins>
             <plugin>
                 <groupId>org.jacoco</groupId>