Compare commits

...

22 Commits
main ... main

Author SHA1 Message Date
fd5c8099ef .drone.yml aktualisiert 2026-04-25 14:12:23 +00:00
9db3d2b12e .drone.yml aktualisiert 2026-04-25 14:11:04 +00:00
250002354b .drone.yml aktualisiert 2026-04-25 14:09:41 +00:00
13ef874674 .drone.yml aktualisiert 2026-04-25 14:08:04 +00:00
c9420bf68c .drone.yml aktualisiert 2026-04-25 14:05:55 +00:00
2583ba4906 Dockerfile aktualisiert 2026-04-25 14:01:43 +00:00
290a2c1eab Dockerfile aktualisiert 2026-04-25 13:56:46 +00:00
f5fbdc5a10 Dockerfile aktualisiert 2026-04-25 13:50:06 +00:00
b0ad53dc50 Dockerfile aktualisiert 2026-04-25 13:48:22 +00:00
e124f67610 Dockerfile aktualisiert 2026-04-25 11:56:39 +00:00
474dff700d .drone.yml aktualisiert 2026-04-25 06:51:09 +00:00
5405a6a208 Dockerfile aktualisiert 2026-04-25 06:44:06 +00:00
12c488ead8 Dockerfile aktualisiert 2026-04-25 06:26:57 +00:00
d525fcaaf4 Dockerfile aktualisiert 2026-04-25 06:15:48 +00:00
f3769cb32c Dockerfile aktualisiert 2026-04-25 06:13:30 +00:00
bcd8ec8c3e Dockerfile aktualisiert 2026-04-25 06:06:11 +00:00
166acf7d78 Dockerfile aktualisiert 2026-04-11 12:01:07 +00:00
577991512b Dockerfile aktualisiert 2026-04-11 11:59:15 +00:00
3f7e54837b .drone.yml aktualisiert 2026-04-11 11:46:33 +00:00
725af0162e Dockerfile aktualisiert 2026-04-11 11:43:11 +00:00
94f387a60c Dockerfile aktualisiert 2026-04-11 11:42:13 +00:00
69ef92e42f Dockerfile aktualisiert 2026-04-11 11:40:26 +00:00
2 changed files with 39 additions and 36 deletions

View File

@ -26,7 +26,7 @@ steps:
fi
- name: security-scan
image: aquasec/trivy:latest
image: ghcr.io/aquasecurity/trivy:0.69.3
commands:
- trivy image --input image.tar --severity HIGH,CRITICAL --exit-code 1
@ -37,31 +37,16 @@ steps:
from_secret: GITEA_TOKEN
commands:
- apk add --no-cache git
# Git konfigurieren
- git config --global user.email "drone@ci.local"
- git config --global user.name "Drone CI"
# Remote setzen
#- git remote set-url origin https://git.efi.th-nuernberg.de/gitea/freudenreichan/EinfuehrungInDocker_Pipeline2
# Repo clonen
- git clone https://git.efi.th-nuernberg.de/gitea/freudenreichan/EinfuehrungInDocker_Pipeline2.git
- cd EinfuehrungInDocker_Pipeline
# Branch wechseln oder erstellen
# Erst clonen
- git clone https://git.efi.th-nuernberg.de/gitea/niegratschkato95684/EinfuehrungInDocker_Pipeline2.git
- cd EinfuehrungInDocker_Pipeline2
# Dann Remote mit Token setzen (Wichtig: $$ für Drone)
- git remote set-url origin https://niegratschkato95684:$${GITEA_TOKEN}@git.efi.th-nuernberg.de/gitea/niegratschkato95684/EinfuehrungInDocker_Pipeline2.git
- git checkout drone-artifacts || git checkout -b drone-artifacts
# Artifact löschen und neu hinzufügen
- git rm image.tar
- git rm image.tar || echo "image.tar not found"
- cp $DRONE_WORKSPACE/image.tar .
- git add image.tar
# Commit nur wenn Änderungen vorhanden
- git commit -m "Add built Docker image [skip ci]" || echo "Nothing to commit"
# Pull vor Push (um Konflikte zu vermeiden)
- git pull || true
# Push
- git push
- git push origin drone-artifacts

View File

@ -1,22 +1,40 @@
# Base-Image
FROM ubuntu:latest
# syntax=docker/dockerfile:1
# Pakete installieren
RUN apt-get update
RUN apt-get install -y build-essential gcc curl vim net-tools
############################
# 1) Builder: compilen
############################
FROM alpine:3.20 AS builder
# Arbeitsverzeichnis setzen
WORKDIR /app
# alles kopieren
COPY . .
# Build-Tools nur im Builder
RUN apk add --no-cache build-base
# Code kompilieren
RUN gcc -o deployment deployment.c
# Nur die C-Datei kopieren
COPY deployment.c .
# Verzeichnis für Ausgabe anlegen
# Kompilieren (statisch linken)
RUN gcc -O2 -static -s -o deployment deployment.c
############################
# 2) Runtime: Minimaler Footprint
############################
FROM alpine:3.20
WORKDIR /app
# Binary vom Builder kopieren
COPY --from=builder /app/deployment .
# Verzeichnis für das Volume erstellen
RUN mkdir /output
# Ausgabe wird ins Container-Dateisystem geschrieben
ENTRYPOINT ["/bin/bash", "-c"]
# Datavolume mounten (leitet die Ausgabe nach außen)
VOLUME ["/output"]
# Healthcheck: Prüft, ob die Datei existiert und nicht leer ist
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \
CMD test -s /output/output.txt || exit 1
ENTRYPOINT ["/bin/sh", "-c"]
CMD ["./deployment 10 > /output/output.txt && tail -f /output/output.txt"]