From 85bdb96ea569f144b8cf921b66742497ea6b7fc2 Mon Sep 17 00:00:00 2001
From: Frank Sauerburger <frank@sauerburger.com>
Date: Wed, 27 Nov 2024 22:37:52 +0100
Subject: [PATCH] Add CI/CD

---
 .gitlab-ci.yml | 12 ++++++++++++
 Dockerfile     | 11 +++++++++++
 src/main.rs    |  4 +++-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 .gitlab-ci.yml
 create mode 100644 Dockerfile

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..853a4f6
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,12 @@
+stages:
+  - test
+  - build
+
+test:
+  image: rust:1.82.0-slim-bookworm
+  stage: test
+  script:
+    - cargo test
+
+include:
+  - component: gitlab.sauerburger.com/sauerburger-it/devops/kaniko-build@0.2.1-alpha
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..2b5b6d1
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,11 @@
+FROM rust:1.82.0-slim-bookworm as builder
+
+WORKDIR /app
+COPY Cargo.* /app/
+COPY src /app/src/
+
+RUN cargo build --release
+
+FROM debian:bookworm-slim
+COPY --from=builder /app/target/release/tcpjunction /bin/tcpjunction
+CMD ["tcpjunction"]
diff --git a/src/main.rs b/src/main.rs
index e71fdf5..21e8033 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1 +1,3 @@
-fn main() {}
\ No newline at end of file
+fn main() {
+    println!("TCP Junction")
+}
\ No newline at end of file
-- 
GitLab