GitLab Duo-Konzepte - Amazon Q Developer

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

GitLab Duo-Konzepte

Im Folgenden finden Sie einige Konzepte und Begriffe, mit denen Sie bei der Verwendung von GitLab Duo mit Amazon Q vertraut sein sollten.

Einrichten von GitLab Duo mit Amazon Q

Bevor Sie die Funktionen der künstlichen Intelligenz (KI) von Amazon Q in GitLab Duo nutzen können, müssen Sie die Voraussetzungen erfüllen und AWS-Ressourcen erstellen. Weitere Informationen finden Sie in der GitLab Dokumentation unter GitLab DuoMit Amazon Q einrichten.

Onboarding mit AWS Ressourcen und Berechtigungsrichtlinien

Im Rahmen des Onboarding-Prozesses von GitLab Duo müssen Sie über die Konsole von Amazon Q Developer ein Profil für Amazon Q Developer erstellen. Das Profil ermöglicht es Ihnen, Anpassungs- und Kontrolleinstellungen für alle oder eine Teilgruppe von Benutzern bei Ihrem Identitätsanbieter zu erstellen. Nachdem Sie ein Profil erstellt haben, benötigen Sie einen OpenID Connect (OIDC) Identity Provider (IdP) sowie eine IAM-Servicerolle, um Vertrauen zwischen Ihrem Konto und Ihrem Konto herzustellen. GitLab Duo AWS Informationen zum Erstellen der erforderlichen Ressourcen und zur Einrichtung GitLab Duo mit Amazon Q finden Sie in der GitLab Dokumentation unter GitLab DuoMit Amazon Q einrichten.

Wenn die neue IAM-Rolle erstellt wird, wird auch die erforderliche Vertrauensrichtlinie mit den entsprechenden Berechtigungen generiert. Eine Rollenvertrauensrichtlinie ist eine erforderliche ressourcenbasierte Richtlinie die einer Rolle in IAM angefügt ist.

Sie müssen eine Berechtigungsrichtlinie hinzufügen, die Ihnen ermöglicht, eine Verbindung mit Amazon Q herzustellen und die Funktionen der Integration von GitLab Duo mit Amazon Q zu nutzen. Die Richtlinie muss bei der Erstellung der IAM-Rolle hinzugefügt werden. Weitere Informationen zu den Berechtigungen, die die Berechtigungsrichtlinie bietet, finden Sie unter GitLabDuoWithAmazonQPermissionsRichtlinie.

Alternativ können Sie eine eingebundene Richtlinie erstellen und die erforderlichen Berechtigungen hinzufügen. Sie können sich für eine eingebundene Richtlinie entscheiden, wenn Sie eine benutzerdefinierte Zugriffskontrolle wünschen. Weitere Informationen zu eingebundenen Richtlinien finden Sie unter Verwaltete Richtlinien und eingebundene Richtlinien und Policies and permissions in AWS Identity and Access Management im IAM-Benutzerhandbuch.

Vertrauensrichtlinie

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" } } } ] }

Berechtigungsrichtlinie

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/*" } ] }

Optional können Sie auch vom Kunden verwaltete Schlüssel (CMK) verwenden, um Ihre Ressourcen zu verschlüsseln, wenn Sie die volle Kontrolle über den Lebenszyklus und die Nutzung Ihres Schlüssels haben möchten. Mit dem Bedingungsschlüssel kms:ViaService können Sie einschränken, wer CMK zum Verschlüsseln oder Entschlüsseln von Inhalten verwenden kann. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf Amazon Q Developer für Drittanbieter-Integrationen.

GitLab schnelle Aktionen

Wenn Schnellaktionen aufgerufen werden, führen sie Aufgaben in GitLab Issues und Merge-Anfragen für Sie aus. Informationen zum Aufrufen von Schnellaktionen finden Sie in GitLab der GitLab Dokumentation.

Generierung und Iteration von Merge-Anforderungen

  • /q dev— Ermöglicht es Ihnen, von einer allgemeinen Idee, die in einem GitLab Problem erfasst wurde, zur Generierung einer ready-to-review Merge-Anfrage mit der vorgeschlagenen Code-Implementierung durch Amazon Q überzugehen. Dies trägt dazu bei, den Prozess der Umwandlung von Konzepten in funktionierenden Code zu rationalisieren. Die Merge-Anforderung wird in einem neuen Branch erstellt und Amazon Q weist den Ersteller des Problems als Prüfer der Merge-Anforderung zu. Sie erhalten außerdem eine Zusammenfassung der Merge-Anforderung. Weitere Informationen erhalten Sie unter Turn an idea into a merge request.

  • /q dev (überarbeiten) – ermöglicht es Ihnen, die vorgeschlagene Codeimplementierung von Amazon Q zu iterieren, anstatt bei einem Problem erneut zu beginnen. Amazon Q überprüft Ihr Feedback und aktualisiert den Code, der ursprünglich generiert wurde. Sie erhalten außerdem Commit-Nachrichten für jede vorgenommene Änderung. Die Beschreibung nach jeder Iteration wird aktualisiert, und ein Kommentar, der das Feedback beschreibt, wird in die Iteration aufgenommen. Anschließend können Sie die Vorschläge überprüfen und mit Ihrem Code zusammenführen. Weitere Informationen erhalten Sie unter Make code changes based on feedback.

Codetransformation

  • /q transform – ermöglicht es Ihnen, den Upgrade-Prozess von Java Maven 8 oder Java Maven 11 auf das Java-Maven-17-Projekt zu initiieren. Ausgehend von einem GitLab Problem analysiert Amazon Q den Code, um die erforderlichen Java-Upgrades oder -Modernisierungen zu ermitteln, aktualisiert das Problem, öffnet automatisch eine neue Zusammenführungsanforderung mit den vorgeschlagenen Änderungen und weist den Problemersteller als Prüfer zu. Zum Erstellen benötigen Sie ein GitLab Runner-Setup, das für die Codetransformation angepasst werden muss. Weitere Informationen erhalten Sie unter Anpassen einer CI/CD Pipeline für die Codetransformation und Upgrade Java.

    Anmerkung

    Die Quellversion eines Maven-Projekts muss identifiziert werden, bevor Sie Ihren Code transformieren können. Daher müssen Ihre Compiler-Einstellungen in einer pom.xml-Datei festgelegt werden. Ihre pom.xml-Datei muss folglich eine Quelle und ein Ziel haben.

Generierung von Modultests

  • /q test – ermöglicht es Ihnen, Modultests für neu hinzugefügte Quellcodezeilen in Ihrer Merge-Anforderung zu generieren. Amazon Q kommentiert mit Vorschlägen für Modultests, die zu Ihrer Testdatei hinzugefügt werden können. Sie können die generierten Tests auf einmal anwenden oder jeden Test einzeln überprüfen, bevor Sie ihn übernehmen. Wenn in der Merge-Anforderung keine Testdatei gefunden wird, stellt Amazon Q die Modultests bereit, die Sie einer Testdatei manuell hinzufügen können. Weitere Informationen erhalten Sie unter Create test coverage.

Codeüberprüfung

  • /q review – ermöglicht es Ihnen, eine Überprüfung von Merge-Anforderungen in GitLab Duo mit Amazon Q einzuleiten. Für neue Merge-Anforderungen erfolgt eine automatische Codeüberprüfung. Als GitLab Administrator können Sie Amazon Q auch so konfigurieren, dass automatische Bewertungen deaktiviert werden. Automatisierte Codeüberprüfungen identifizieren und beheben potenzielle Probleme, während Amazon Q Codekorrekturen für Ihre Merge-Anforderung generiert und vorschlägt. Sie bieten Qualitätsprüfungen und Analysen auf Probleme, logische Fehler, Anti-Muster, Codeduplizierung und mehr.

    Amazon Q bietet Ihnen eine Codeanalyse mit Kommentaren, wobei jeder Kommentar eine separate Erkenntnis liefert. Diese Schnellaktion ist für alle Sprachen verfügbar. Automatische Codeüberprüfungen werden eingeleitet, wenn Sie neue Merge-Anforderungen öffnen oder zuvor geschlossene Anforderungen erneut öffnen. Automatische Codeüberprüfungen werden jedoch nicht durch nachfolgende Commits ausgelöst, die innerhalb einer bestehenden Merge-Anforderung vorgenommen wurden. Mithilfe der Schnellaktion /q review können Sie eine Codeüberprüfung manuell auslösen.

    Sie können Codeüberprüfungen so konfigurieren, dass sie bei jeder neuen Merge-Anfrage innerhalb Ihrer GitLab Instance oder Gruppe automatisch ausgeführt werden. Weitere Informationen erhalten Sie unter Review a merge request.

Chat-Sitzung in der Weboberfläche und IDEs

  • GitLab Duo Chat and Code Suggestions arbeitet mit Amazon Q zusammen, um Unterstützung bei der CI/CD Konfiguration, Fehlererklärungen und der Beantwortung von Fragen zu bieten. Sie können Slash-Befehle in einer Chat-Sitzung verwenden, um das GitLab Duo mit den Chat-Funktionen von Amazon Q aufzurufen. Weitere Informationen finden Sie unter Frag GitLab Duo Chat.