Upload SBOM su Dependency-Track nella pipeline - #880
Merged
Conversation
Aggiunto il job dependency-track-upload al workflow maven.yml, che carica l'SBOM CycloneDX prodotto dal job sbom gia' esistente sotto il progetto GovPay-Legacy, e lo script script/sbom/upload-sbom-parent-required.sh. L'esecuzione copre tag, master e le linee di manutenzione x.y.x, quindi anche 3.10.x, con la stessa condizione gia' usata da docker_dev. La versione su Dependency-Track e' il nome del branch, cosi' master e 3.10.x convivono come versioni distinte dello stesso progetto; sui tag e' il tag ed e' marcata latest. L'artifactId dell'aggregatore e' 'bom': senza override il progetto comparirebbe su Dependency-Track con quel nome, quindi DTRACK_PROJECT_NAME lo forza a 'govpay'. Replica di quanto gia' attivo sui componenti backend e frontend.
Il default del plugin CycloneDX e' projectType=library, che su Dependency-Track avrebbe classificato come libreria un progetto distribuito invece come applicazione. Aggiunto -DprojectType=application alla generazione dell'SBOM.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Completa il rollout dell'upload SBOM su Dependency-Track, gia' attivo sui componenti backend e frontend. Questo e' il progetto core, che va sotto il progetto padre
GovPay-Legacy.PR aperta su
3.10.xcome richiesto.Cosa cambia
.github/workflows/maven.yml— nuovo jobdependency-track-upload, inserito dopo il jobsbomgia' esistente. Qui, a differenza dei frontend, l'SBOM veniva gia' generato: serviva solo l'upload.script/sbom/upload-sbom-parent-required.sh— copia identica dello script gia' sumaindigovpay-common.Due adattamenti specifici di questo repository
Esecuzione su master e sulle linee di manutenzione. L'upload deve avvenire sia su
mastersia su3.10.x. Ho usato la stessa condizione gia' adottata dal jobdocker_devdi questo workflow:cosi' la regola copre 3.10.x e ogni futura linea x.y.x senza doverla riaprire a ogni branch nuovo. La versione su Dependency-Track e' il nome del branch, quindi
mastere3.10.xconvivono come versioni distinte dello stesso progetto. Sui tag la versione e' il tag ed e' marcatalatest.Nome del progetto forzato. L'artifactId dell'aggregatore e' letteralmente
bom, quindi senza intervento il progetto sarebbe comparso su Dependency-Track comebom 3.10.0-SNAPSHOT— confondibile congovpay-bom.DTRACK_PROJECT_NAMElo forza agovpay.Verifiche
L'SBOM e' stato generato davvero in locale su questo progetto: 719 KB, 278 componenti,
metadata.component=it.govpay:bom:3.10.0-SNAPSHOT— da cui la necessita' dell'override sul nome, confermata dandolo in pasto allo script di upload.La logica di versione e' stata verificata su tutti i casi:
master->master,3.10.x->3.10.x,3.9.x->3.9.x, un branch qualsiasi ->dev, tag3.10.0->3.10.0conlatest=true.YAML del workflow validato e job agganciato a
needs: [sbom]. Non e' stato eseguito un upload reale verso il server da questo repository.Prerequisito
Progetto padre
GovPay-Legacypresente su Dependency-Track, senza versione. Il secretGOVPAY_DTRACK_API_KEYrisulta gia' configurato.