Amazon non CodeCatalyst è più aperto a nuovi clienti. I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta Come migrare da CodeCatalyst.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Lavorare con la gestione del ciclo di vita come utente del progetto
La gestione del ciclo di vita è la capacità di rigenerare una base di codice a partire da opzioni o versioni aggiornate di un blueprint. Ciò consente all'autore del blueprint di gestire centralmente il ciclo di vita dello sviluppo del software di ogni progetto che contiene un particolare blueprint. Ad esempio, l'inserimento di una correzione di sicurezza nel blueprint di un'applicazione Web consentirà a ogni progetto contenente o creato a partire dal blueprint dell'applicazione Web di rilevare automaticamente tale correzione. Questo stesso framework di gestione consente inoltre, in qualità di utente del blueprint, di modificare le opzioni del blueprint dopo averle selezionate.
Argomenti
Utilizzo della gestione del ciclo di vita su progetti esistenti
È possibile utilizzare la gestione del ciclo di vita per i progetti creati a partire da blueprint o su progetti esistenti non associati ad alcun blueprint. Ad esempio, è possibile aggiungere un modello di pratiche di sicurezza standard in un'applicazione Java vecchia di cinque anni che non è mai stata creata da un blueprint. Il blueprint genera un flusso di lavoro di scansione della sicurezza e altro codice correlato. Quella parte della base di codice nell'applicazione Java verrà ora aggiornata automaticamente con le migliori pratiche del team ogni volta che vengono apportate modifiche al blueprint.
Utilizzo della gestione del ciclo di vita su più blueprint in un progetto
Poiché i blueprint rappresentano componenti architettonici, è spesso possibile utilizzare più blueprint insieme nello stesso progetto. Ad esempio, un progetto potrebbe essere costituito da un modello di API Web centrale creato da un ingegnere della piattaforma aziendale, insieme a un progetto di verifica del rilascio creato dal team di sicurezza delle app. Ciascuno di questi blueprint può essere aggiornato indipendentemente e ricorderà le risoluzioni di fusione applicate in passato.
Nota
Essendo componenti architettonici arbitrari, non tutti i progetti hanno senso insieme o funzioneranno logicamente insieme, anche se cercheranno comunque di fondersi l'uno nell'altro.
Gestione dei conflitti nelle pull request del ciclo di vita
Di tanto in tanto, le richieste pull relative al ciclo di vita possono generare conflitti di unione. Questi possono essere risolti manualmente. Le risoluzioni vengono memorizzate nei successivi aggiornamenti del blueprint.
Rinuncia alle modifiche alla gestione del ciclo di vita
Gli utenti possono rimuovere un blueprint da un progetto per dissociare tutti i riferimenti al blueprint e disattivare gli aggiornamenti del ciclo di vita. Per motivi di sicurezza, ciò non rimuove né influisce sul codice o sulle risorse del progetto, incluso ciò che è stato aggiunto dal blueprint. Per ulteriori informazioni, consulta Dissociazione di un blueprint da un progetto per interrompere gli aggiornamenti.
Sovrascrivere la gestione del ciclo di vita di un blueprint in un progetto
Se desideri sovrascrivere gli aggiornamenti di un blueprint a file specifici del tuo progetto, puoi includere un file di proprietà nel tuo repository. GitLabLe
new BlueprintOwnershipFile(sourceRepo, { resynthesis: { strategies: [ { identifier: 'dont-override-sample-code', description: 'This strategy is applied accross all sample code. The blueprint will create sample code, but skip attempting to update it.', strategy: MergeStrategies.neverUpdate, globs: [ '**/src/**', '**/css/**', ], }, ], }, });
Questo genera un file .ownership-file con i seguenti contenuti:
[dont-override-sample-code] @amazon-codecatalyst/blueprints.import-from-git # This strategy is applied accross all sample code. The blueprint will create sample code, but skip attempting to update it. # Internal merge strategy: neverUpdate **/src/** **/css/**