7. CI/CD

V tem poglavju se boste naučili, kako avtomatizirati gradnjo OpenSSL.


Kaj je CI/CD?

CI = Continuous Integration (neprekinjeno povezovanje) CD = Continuous Delivery/Deployment

Razvijalec → Git Push → Gradnja → Test → Artefakt → Namestitev
             └─────── samodejno ───────────────────┘

Zakaj avtomatizirati?

Ročno Samodejno
——-———–
Človek dela napake Vedno enak proces
„Pri meni deluje“ Ponovljive gradnje
Čakanje na osebo za gradnjo Takoj na voljo
Brez dokumentacije Git zgodovina kot dokaz

Pregled

Platforma Opis Stran
———–————-
GitHub Actions Brezplačno za javne repozitorije 7.1 GitHub Actions
Azure DevOps Enterprise, možen Self-Hosted azure-devops
GitLab CI Self-Hosted priljubljen -
Jenkins Self-Hosted, zelo prilagodljiv -

Preprost koncept

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   SPROŽILEC  │────▶│   GRADNJA    │────▶│   ARTEFAKT   │
│              │     │              │     │              │
│ - Git Push   │     │ - Checkout   │     │ - DLL-ji     │
│ - Urnik     │     │ - Configure  │     │ - NuGet      │
│ - Ročno     │     │ - nmake      │     │ - File Share │
└──────────────┘     └──────────────┘     └──────────────┘

Hiter začetek: GitHub Actions

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

on:
  push:
    branches: [ main ]
  workflow_dispatch:  # Ročni zagon

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/

Popolna navodila


Predpogoji za CI/CD

Zahteva GitHub Actions Azure DevOps
————————-————–
Račun GitHub račun Azure račun
Repozitorij Da Da
Runner Gostovan (brezplačno) Gostovan ali Self-Hosted
Windows gradnja ✓ windows-latest ✓ windows-latest
Linux gradnja ✓ ubuntu-latest ✓ ubuntu-latest

Naprej na


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

Zuletzt geändert: dne 15.12.2025 ob 21:11