diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5d97b46fbe68f9320ff132a5152954334ef2342f
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,29 @@
+image: rust:alpine
+
+stages:
+    - lint
+    - test
+    - build
+    - fmt
+
+lint:
+    stage: lint
+    script:
+        - cargo clippy
+
+test:
+    stage: test
+    script:
+        - cargo test
+
+build:
+    stage: build
+    script:
+        - cargo build --release
+    artifacts:
+        paths:
+            - target
+fmt:
+    stage: fmt
+    script:
+        - cargo fmt
\ No newline at end of file