====== 7. CI/CD ====== U ovom poglavlju naučit ćete kako automatizirati OpenSSL kompilaciju. ---- ===== Što je CI/CD? ===== **CI** = Continuous Integration (Kontinuirana integracija) **CD** = Continuous Delivery/Deployment Razvojni programer → Git Push → Kompilacija → Test → Artefakt → Deployment └─────── automatski ──────────────────────┘ ==== Zašto Automatizirati? ==== | Ručno | Automatski | |-------|------------| | Ljudi čine greške | Uvijek isti proces | | "Radi na mom računalu" | Ponovljive kompilacije | | Čekanje na osobu za kompilaciju | Odmah dostupno | | Nema dokumentacije | Git povijest kao dokaz | ---- ===== Pregled ===== | Platforma | Opis | Stranica | |-----------|------|----------| | GitHub Actions | Besplatno za javne repozitorije | [[.:github-actions]] | | Azure DevOps | Enterprise, self-hosted moguć | [[.:azure-devops]] | | GitLab CI | Self-hosted popularan | - | | Jenkins | Self-hosted, vrlo fleksibilan | - | ---- ===== Jednostavan Koncept ===== ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ OKIDAČ │────▶│ KOMPILACIJA │────▶│ ARTEFAKT │ │ │ │ │ │ │ │ - Git Push │ │ - Checkout │ │ - DLL-ovi │ │ - Raspored │ │ - Configure │ │ - NuGet │ │ - Ručno │ │ - nmake │ │ - File Share │ └──────────────┘ └──────────────┘ └──────────────┘ ---- ===== Brzi Početak: GitHub Actions ===== # .github/workflows/build-openssl.yml name: Build OpenSSL on: push: branches: [ main ] workflow_dispatch: # Ručno pokretanje 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/ → [[.:github-actions|Kompletan vodič]] ---- ===== Nastavite na ===== * [[.:github-actions|GitHub Actions - Korak po korak]] * [[.:.:start|Povratak na pregled]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//