7. CI/CD

In diesem Kapitel lernen Sie, wie Sie den OpenSSL-Build automatisieren.


Was ist CI/CD?

CI = Continuous Integration (Kontinuierliche Integration) CD = Continuous Delivery/Deployment

Entwickler → Git Push → Build → Test → Artefakt → Deployment
             └─────── automatisch ──────────────────┘

Warum automatisieren?

Manuell Automatisch
———————-
Mensch macht Fehler Immer gleicher Prozess
„Funktioniert bei mir“ Reproduzierbare Builds
Warten auf Build-Person Sofort verfügbar
Keine Dokumentation Git-History als Nachweis

Übersicht

Plattform Beschreibung Seite
———–————–——-
GitHub Actions Kostenlos für Public Repos 7.1 GitHub Actions
Azure DevOps Enterprise, Self-Hosted möglich azure-devops
GitLab CI Self-Hosted beliebt -
Jenkins Self-Hosted, sehr flexibel -

Einfaches Konzept

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   TRIGGER    │────▶│    BUILD     │────▶│   ARTEFAKT   │
│              │     │              │     │              │
│ - Git Push   │     │ - Checkout   │     │ - DLLs       │
│ - Schedule   │     │ - Configure  │     │ - NuGet      │
│ - Manual     │     │ - nmake      │     │ - File Share │
└──────────────┘     └──────────────┘     └──────────────┘

Schnellstart: GitHub Actions

# .github/workflows/build-openssl.yml
name: Build OpenSSL

on:
  push:
    branches: [ main ]
  workflow_dispatch:  # Manueller Start

jobs:
  build-windows:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Perl
        run: choco install strawberryperl -y

      - name: Install NASM
        run: choco install nasm -y

      - name: Build OpenSSL
        shell: cmd
        run: |
          call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
          cd src
          perl Configure VC-WIN64A --prefix=%cd%\..\bin
          nmake
          nmake install_sw

      - name: Upload Artifact
        uses: actions/upload-artifact@v4
        with:
          name: openssl-win-x64
          path: bin/

Vollständige Anleitung


Voraussetzungen für CI/CD

Anforderung GitHub Actions Azure DevOps
————-—————-————–
Konto GitHub-Account Azure-Account
Repository Ja Ja
Runner Gehostet (kostenlos) Gehostet oder Self-Hosted
Windows-Build ✓ windows-latest ✓ windows-latest
Linux-Build ✓ ubuntu-latest ✓ ubuntu-latest

Weiter zu


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional

Zuletzt geändert: den 29.01.2026 um 15:14