Concetti GitLab Duo - Amazon Q Developer

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à.

Concetti GitLab Duo

Ecco alcuni concetti e termini da conoscere per l’utilizzo di GitLab Duo con Amazon Q.

Configurazione di GitLab Duo con Amazon Q

Prima di poter utilizzare le funzionalità di intelligenza artificiale (IA) di Amazon Q in GitLab Duo, devi completare i prerequisiti e creare risorse AWS. Per ulteriori informazioni, consulta Configurazione GitLab Duo con Amazon Q nella GitLab documentazione.

Onboarding con AWS risorse e politiche di autorizzazione

Come parte integrante del processo di onboarding di GitLab Duo, devi creare un profilo Amazon Q Developer tramite la console Amazon Q Developer. Il profilo ti consente di creare impostazioni di personalizzazione e controllo per tutti o per un sottoinsieme di utenti del tuo provider di identità. Dopo aver creato un profilo, è necessario un provider di identità (IdP) OpenID Connect (OIDC), oltre a un ruolo di servizio IAM, per stabilire un rapporto di fiducia tra e il proprio account. GitLab Duo AWS Per informazioni su come creare le risorse necessarie e configurare GitLab Duo Amazon Q, consulta Configurazione GitLab Duo con Amazon Q nella GitLab documentazione.

Quando viene creato il nuovo ruolo IAM, viene creata anche la policy di attendibilità richiesta con le autorizzazioni necessarie. Una policy di attendibilità del ruolo è una policy basata sulle risorse collegata a un ruolo in IAM.

È necessario aggiungere una policy di autorizzazioni che garantisca la possibilità di connettersi con Amazon Q e utilizzare le funzionalità nell’integrazione di GitLab Duo con Amazon Q. La policy deve essere aggiunta durante la creazione del ruolo IAM. Per ulteriori informazioni sulle autorizzazioni fornite da questa policy, consulta GitLabDuoWithAmazonQPermissionsPolicy.

In alternativa, puoi creare una policy in linea e aggiungere le autorizzazioni richieste. Puoi scegliere di creare una policy in linea se desideri personalizzare il controllo degli accessi. Per ulteriori informazioni, consulta Policy gestite e policy inline e Policies and permissions in AWS Identity and Access Management nella Guida per l’utente di IAM.

Policy di trust

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRoleWithWebIdentity", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/auth.token.gitlab.com/cc/oidc/instance-id" }, "Condition": { "StringEquals": { "auth.token.gitlab.com/cc/oidc/instance-id:aud": "gitlab-cc-instance-id" } } } ] }

Policy delle autorizzazioni

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "GitLabDuoUsagePermissions", "Effect": "Allow", "Action": [ "q:SendEvent", "q:CreateAuthGrant", "q:UpdateAuthGrant", "q:GenerateCodeRecommendations", "q:SendMessage", "q:ListPlugins", "q:VerifyOAuthAppConnection" ], "Resource": "*" }, { "Sid": "GitLabDuoManagementPermissions", "Effect": "Allow", "Action": [ "q:CreateOAuthAppConnection", "q:DeleteOAuthAppConnection" ], "Resource": "*" }, { "Sid": "GitLabDuoPluginPermissions", "Effect": "Allow", "Action": [ "q:CreatePlugin", "q:DeletePlugin", "q:GetPlugin" ], "Resource": "arn:aws:qdeveloper:*:*:plugin/GitLabDuoWithAmazonQ/*" } ] }

Facoltativamente, puoi anche utilizzare le chiavi gestite dai clienti (CMK) per crittografare le tue risorse se desideri il pieno controllo sul ciclo di vita e sull’utilizzo della tua chiave. La chiave di condizione kms:ViaService per limitare chi può utilizzare CMK per crittografare e decrittografare i contenuti. Per ulteriori informazioni, consulta Gestione dell’accesso ad Amazon Q Developer per l’integrazione con terze parti.

GitLab azioni rapide

Quando vengono richiamate, le azioni rapide eseguono al posto tuo le attività relative ai GitLab problemi e alle richieste di unione. Per informazioni su come richiamare azioni rapide in GitLab, consulta la documentazione. GitLab

Unire la generazione e l’iterazione delle richieste

  • /q dev— Consente di passare da un'idea di alto livello contenuta in un GitLab problema alla generazione da parte di Amazon Q di una richiesta di ready-to-review unione con l'implementazione del codice proposta. Aiuta a semplificare il processo di trasformazione dei concetti in codice funzionante. La richiesta di unione viene creata in un nuovo ramo e Amazon Q assegna l’autore del problema come revisore della richiesta di unione. Ti viene anche fornito un riepilogo della richiesta di unione. Per ulteriori informazioni, consulta Turn an idea into a merge request.

  • /q dev (revisione) - Consente di ripetere l’implementazione del codice proposta fornita da Amazon Q anziché ricominciare da capo a partire da un problema. Amazon Q esamina il tuo feedback e aggiorna il codice originariamente generato. Ti vengono inoltre forniti dei messaggi di commit per ogni modifica apportata. La descrizione che segue ogni iterazione viene aggiornata e nell’iterazione viene incorporato un commento che descrive il feedback. Puoi quindi rivedere e unire i suggerimenti al tuo codice. Per ulteriori informazioni, consulta Make code changes based on feedback.

Trasformazione del codice

  • /q transform - Consente di avviare il processo di aggiornamento da Java Maven 8 o Java Maven 11 al progetto Java Maven 17. A partire da un GitLab problema, Amazon Q analizza il codice per determinare gli aggiornamenti o la modernizzazione di Java necessari, aggiorna il problema, apre automaticamente una nuova richiesta di unione con le modifiche proposte e assegna l'autore del problema come revisore. È necessaria una configurazione GitLab Runner per la compilazione e deve essere personalizzata per la trasformazione del codice. Per ulteriori informazioni, Personalizzazione di una CI/CD pipeline per la trasformazione del codice e Aggiorna Java.

    Nota

    Prima di poter trasformare il codice è necessario identificare la versione sorgente di un progetto Maven, quindi configurare le impostazioni del compilatore all’interno di un file pom.xml. Pertanto, il file pom.xml deve avere un’origine e una destinazione.

Generazione di test di unità

  • /q test - Consente di generare test di unità per nuove righe di codice sorgente aggiunte nella richiesta di unione. Amazon Q commenta con suggerimenti sui test di unità che possono essere aggiunti al file di test. Puoi applicare i test generati contemporaneamente o rivedere ogni test singolarmente prima di applicarlo. Se non viene trovato un file di test nella richiesta di unione, Amazon Q fornisce i test di unità da aggiungere manualmente a un file di test. Per ulteriori informazioni, consulta Create test coverage.

Revisione del codice

  • /q review - Consente di avviare una revisione delle richieste di unione in GitLab Duo con Amazon Q. Viene avviata una revisione automatica del codice per le nuove richieste di unione. In qualità di GitLab amministratore, puoi anche configurare Amazon Q per disattivare le revisioni automatiche. Le revisioni automatiche del codice identificano e risolvono potenziali problemi man mano che Amazon Q genera e suggerisce correzioni di codice alla tua richiesta di unione. Forniscono controlli di qualità, analisi di problemi, errori logici, anti-pattern, duplicazione del codice e altro ancora.

    Amazon Q offre un’analisi del codice con commenti, ognuno dei quali fornisce un esito distinto. Questa azione rapida è disponibile per tutte le lingue. Le revisioni automatiche del codice vengono avviate quando si aprono nuove richieste di unione o si riaprono richieste precedentemente chiuse. Tuttavia, le revisioni automatiche del codice non verranno attivate dai commit successivi effettuati all’interno di una richiesta di unione esistente. Puoi attivare manualmente una revisione del codice utilizzando l’azione rapida /q review.

    Puoi configurare le revisioni del codice in modo che vengano eseguite automaticamente su ogni nuova richiesta di unione all'interno della tua GitLab istanza o gruppo. Per ulteriori informazioni, consulta Review a merge request.

Sessione di chat nell'interfaccia utente web e IDEs

  • GitLab Duo Chat and Code Suggestions collabora con Amazon Q per fornire supporto per la CI/CD configurazione, la spiegazione degli errori e la risoluzione delle domande. Puoi usare i comandi slash in una sessione di chat per richiamare GitLab Duo con le funzionalità di chat di Amazon Q. Per ulteriori informazioni, consulta Ask GitLab Duo Chat.