Jenkins
AppArch hat kein Jenkins-Plugin und keine Jenkins-spezifische Vorlage. In Jenkins starten Sie den Collector-Container mit docker run - dasselbe Image wie in jeder anderen CI. Die Git-Verbindung selbst ist ein normaler Zugang (GitHub, GitLab, Bitbucket oder Azure DevOps).
Jenkins-Zugangsdaten
Abschnitt betitelt „Jenkins-Zugangsdaten“Legen Sie unter Manage Jenkins → Credentials an:
- Ein Secret text
APPARCH_TOKEN- das Runner-Token des Projekts (siehe Projekt registrieren). - Ein Username with password
apparch-hub- Benutzername = Installations-ID, Passwort = Installationsschlüssel. Damit wird das Image vonhub.apparch.iogezogen; das Projekt-Token ist kein Registry-Zugang.
Der Agent braucht Docker.
Pipeline
Abschnitt betitelt „Pipeline“pipeline { agent any environment { APPARCH_TOKEN = credentials('APPARCH_TOKEN') } stages { stage('AppArch') { steps { withCredentials([usernamePassword(credentialsId: 'apparch-hub', usernameVariable: 'HUB_USER', passwordVariable: 'HUB_KEY')]) { sh 'echo "$HUB_KEY" | docker login hub.apparch.io -u "$HUB_USER" --password-stdin' } sh ''' PR_ARGS="" if [ -n "$CHANGE_ID" ]; then PR_ARGS="-e APPARCH_Collector__Provider__Type=gitlab \ -e APPARCH_Collector__Provider__ProjectId=group/project \ -e APPARCH_Collector__Provider__PullRequestId=$CHANGE_ID" fi docker run --rm -v "$WORKSPACE:/workspace:ro" \ -e APPARCH_Collector__Token="$APPARCH_TOKEN" \ -e APPARCH_Collector__ApiUrl="https://api.yourdomain.com" \ $PR_ARGS \ hub.apparch.io/collectors/dotnet:latest /workspace ''' } } }}PR-Review oder vollständiger Scan
Abschnitt betitelt „PR-Review oder vollständiger Scan“Jenkins stellt die Merge-Request-Variablen des Anbieters nicht bereit; der Runner kann einen PR nicht selbst erkennen. Sie übergeben den Kontext explizit:
| Variable | Wert |
|---|---|
APPARCH_Collector__Provider__Type | gitlab, github, bitbucket oder azuredevops |
APPARCH_Collector__Provider__ProjectId | Das Repository beim Anbieter, z. B. group/project |
APPARCH_Collector__Provider__PullRequestId | Die PR- / MR-Nummer ($CHANGE_ID in einer Multibranch-Pipeline) |
Optional: APPARCH_Collector__Provider__BaseUrl, __WebUrl, __BaseSha, __StartSha, __HeadSha, __Title, __Author.
- Mit diesen Variablen ist der Lauf ein PR-Review (ArchPilot plus ein ArchScan-Eintrag).
- Ohne sie ist es ein vollständiger Scan (ArchScan und ArchSecurity).
Den Build fehlschlagen lassen
Abschnitt betitelt „Den Build fehlschlagen lassen“Hängen Sie --fail-on <Stufe> nach /workspace an (critical, error, warning oder info) oder setzen Sie APPARCH_FAIL_ON. Gibt es einen Befund auf oder über dieser Stufe, beendet sich der Collector nach dem Senden aller Ergebnisse mit Exit-Code 4, und Jenkins markiert die Stage als fehlgeschlagen. Ist beides nicht gesetzt, gilt die im Panel für den Workspace eingestellte Fail-on-Stufe; gibt es auch dort keine, lassen Befunde den Schritt nie fehlschlagen.
Für andere CI-Systeme: Runner in die CI einbinden.