From 26ee7e85ff7aa4393b35d5d236dd8f0d8f7ff592 Mon Sep 17 00:00:00 2001 From: khwezi Date: Sat, 7 Mar 2026 11:12:49 +0200 Subject: [PATCH] Refactored pipeline to use docker --- .drone.yml | 68 +++--------------------- manifests/deploy.yml | 99 ----------------------------------- manifests/deployment.yaml.bak | 93 -------------------------------- 3 files changed, 6 insertions(+), 254 deletions(-) delete mode 100644 manifests/deploy.yml delete mode 100644 manifests/deployment.yaml.bak diff --git a/.drone.yml b/.drone.yml index d8126f3..02e16ec 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,28 +1,3 @@ ---- -kind: pipeline -type: kubernetes -name: build - -clone: - disable: false - -steps: - - name: dotnet restore - image: mcr.microsoft.com/dotnet/sdk:8.0 - commands: - - dotnet restore - - - name: dotnet build - image: mcr.microsoft.com/dotnet/sdk:8.0 - commands: - - dotnet build --configuration Release - - ls ./SampleApi/bin/Release/net8.0/ - - - name: dotnet test - image: mcr.microsoft.com/dotnet/sdk:8.0 - commands: - - dotnet test --configuration Release - --- kind: pipeline type: kubernetes @@ -44,43 +19,12 @@ steps: - name: docker build and push image: plugins/docker settings: - repo: registry-server.registry.svc.cluster.local:5000/sampleapi - auto_tag: true - registry: registry-server.registry.svc.cluster.local:5000 - insecure: true + repo: gitea.khongisa.co.za/khwezi/sampleapi + registry: gitea.khongisa.co.za + insecure: false username: - from_secret: registry-username + from_secret: gitea-username password: - from_secret: registry-password + from_secret: gitea-password dockerfile: Dockerfile - context: ./SampleApi/bin/Release/net8.0/publish/ - ---- -kind: pipeline -type: kubernetes -name: deploy - -depends_on: - - package - -clone: - disable: true - -steps: - - name: deploy via SSH - image: appleboy/drone-ssh - settings: - host: lead.mngoma.lab - username: - from_secret: host-username - password: - from_secret: host-password - port: 22 - script: - - set -euo pipefail - - echo "Applying Kubernetes manifest via SSH..." - # Apply the manifest remotely via kubectl on the host - - ssh -o StrictHostKeyChecking=no $DRONE_REMOTE_USER@lead.mngoma.lab 'kubectl apply -f -' <<'EOF' - $(cat ./manifests/deploy.yml) - EOF - - echo "Manifest applied successfully." + context: ./SampleApi/bin/Release/net8.0/publish/ \ No newline at end of file diff --git a/manifests/deploy.yml b/manifests/deploy.yml deleted file mode 100644 index 9d8e0f0..0000000 --- a/manifests/deploy.yml +++ /dev/null @@ -1,99 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: experiments - labels: - name: experiments ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: sampleapi-config - namespace: experiments -data: - appname: "SampleApi" ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: sampleapi - namespace: experiments - labels: - app: sampleapi -spec: - replicas: 1 - selector: - matchLabels: - app: sampleapi - template: - metadata: - labels: - app: sampleapi - spec: - containers: - - name: sampleapi - image: registry.registry.svc.cluster.local:5000/experiments/sampleapi:latest - imagePullPolicy: Always - ports: - - name: http - containerPort: 8080 - - name: https - containerPort: 8081 - resources: - requests: - memory: "128Mi" - cpu: "250m" - limits: - memory: "256Mi" - cpu: "500m" ---- -apiVersion: v1 -kind: Service -metadata: - name: sampleapi - namespace: experiments -spec: - type: ClusterIP - selector: - app: sampleapi - ports: - - name: http - port: 80 - targetPort: 8080 - - name: https - port: 443 - targetPort: 8081 ---- -apiVersion: traefik.io/v1alpha1 -kind: IngressRoute -metadata: - name: sampleapi-http - namespace: experiments -spec: - entryPoints: - - web - routes: - - match: Host(`sampleapi.apps.mngoma.lab`) - kind: Rule - services: - - name: sampleapi - port: 80 - scheme: http ---- -apiVersion: traefik.io/v1alpha1 -kind: IngressRoute -metadata: - name: sampleapi-https - namespace: experiments -spec: - entryPoints: - - websecure - routes: - - match: Host(`sampleapi.apps.mngoma.lab`) - kind: Rule - services: - - name: sampleapi - port: 443 - scheme: http - tls: {} diff --git a/manifests/deployment.yaml.bak b/manifests/deployment.yaml.bak deleted file mode 100644 index bcd1d69..0000000 --- a/manifests/deployment.yaml.bak +++ /dev/null @@ -1,93 +0,0 @@ -# namespace -apiVersion: v1 -kind: Namespace -metadata: - name: experiments - labels: - name: experiments ---- -# config map -apiVersion: v1 -kind: ConfigMap -metadata: - name: sampleapi-configmap - namespace: experiments -data: - appname: "SampleApi" ---- -# deployment -apiVersion: apps/v1 -kind: Deployment -metadata: - name: sampleapi-deployment - namespace: experiments - labels: - app: sampleapi -spec: - replicas: 1 - selector: - matchLabels: - app: sampleapi - template: - metadata: - labels: - app: sampleapi - spec: - containers: - - name: sampleapi - image: khwezi/mngomalab:latest - imagePullPolicy: IfNotPresent - ports: - - name: http - containerPort: 8080 - protocol: TCP - - name: https - containerPort: 8081 - protocol: TCP ---- -# service -apiVersion: v1 -kind: Service -metadata: - name: sampleapi-service - namespace: experiments -spec: - type: ClusterIP - selector: - app: sampleapi - app.kubernetes.io/instance: sampleapi - ports: - - port: 8080 - targetPort: 80 - - port: 8081 - targetPort: 443 ---- -# ingress -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: sampleapi-ingress - namespace: experiments - annotations: - cert-manager.io/cluster-issuer: sampleapi-secret - nginx.ingress.kubernetes.io/rewrite-target: /$1 - nginx.ingress.kubernetes.io/ssl-redirect: "false" - cert-manager.io/private-key-size: "4096" -spec: - ingressClassName: nginx - rules: - - host: sampleapi.main.k3s.lab.mngoma.africa - http: - paths: - - pathType: Prefix - path: / - backend: - service: - name: sampleapi-service - port: - number: 80 - tls: - - hosts: - - sampleapi.main.k3s.lab.mngoma.africa - secretName: sampleapi-secret -