OpenCode GitLab

OpenCode peut également être intégré aux workflows GitLab, en exécutant automatiquement des tâches dans les Issues, les Merge Requests et les pipelines CI/CD.

Sa caractéristique principale est de s'exécuter sur votre GitLab Runner, permettant un développement automatisé piloté par l'IA, sécurisé et contrôlable.

OpenCode GitLab = Intégrer l'IA dans CI/CD, automatiser l'analyse du code, les corrections et les revues.


1. Présentation des méthodes d'intégration

OpenCode dispose de deux méthodes d'utilisation principales dans GitLab :

  • GitLab CI (Recommandé): Exécuter OpenCode via les pipelines CI/CD
  • GitLab Duo (Déclenché par commentaire): Déclencher via @opencode dans les commentaires

2. Intégration GitLab CI (méthode principale)

OpenCode peut être intégré à votre pipeline en tant que composant CI pour automatiser l'exécution des tâches.

Ici, nous utilisons le composant communautaire :

nagyv/gitlab-opencode

1. Fonctionnalités

  • Configuration personnalisée par tâche: Prend en charge des répertoires de configuration indépendants
  • Coût d'intégration minimal: Aucune initialisation complexe requise
  • Hautement personnalisable: Prend en charge le contrôle du comportement multi-paramètre

2. Étapes de configuration

① Configurer les informations d'authentification

Dans votre projet GitLab :

  • Accédez à Paramètres → CI/CD → Variables
  • Ajoutez des variables :
OPENCODE_AUTH_JSON

Exigences :

  • Type : Fichier
  • Cochez Masqué et Caché

② Configurer le pipeline

Créer ou modifier à la racine du projet :

.gitlab-ci.yml

Exemple :

include:
  - component: $CI_SERVER_FQDN/nagyv/gitlab-opencode/opencode@2
    inputs:
      config_dir: ${CI_PROJECT_DIR}/opencode-config
      auth_json: $OPENCODE_AUTH_JSON
      command: optional-custom-command
      message: "Explain the codebase structure"

③ Description des paramètres

Paramètre Description
config_dir Répertoire de configuration d'OpenCode
auth_json Informations d'authentification (clé API)
command Commande d'exécution (facultatif)
message Prompt

3. Cas d'utilisation

  • Analyser automatiquement la structure du code
  • Refactoriser le code par lots
  • Générer automatiquement la documentation
  • Vérifier automatiquement la qualité du code lors des étapes CI

3. Intégration GitLab Duo (Déclenchée par commentaire)

Similaire à /opencode de GitHub, GitLab utilise@opencodepour déclencher.

Lorsque vous commentez un ticket ou une demande de fusion:

@opencode your prompt

OpenCode exécutera automatiquement les tâches dans GitLab CI

1. Fonctionnalités

  • Analyse des tickets: Comprendre automatiquement les tickets
  • Corrections automatiques: Créer une branche et soumettre une MR
  • Revue de code: Analyser les demandes de fusion

Fonctionnalités :

  • S'exécute sur GitLab Runner
  • Sécurisé, ne dépend pas d'environnements d'exécution externes

2. Étapes de configuration

Pour utiliser @opencode, vous devez compléter la configuration suivante:

  • Configurer le pipeline GitLab CI/CD
  • Préparer la clé API
  • Créer un compte de service
  • Configurer les variables CI/CD
  • Créer un fichier de configuration Flow

Remarque :

Pour plus de détails, reportez-vous à la documentation officielle des GitLab CLI Agents (varie légèrement selon les versions).


4. Utilisation courante

1. Expliquer les tickets

@opencode explain this issue

Résumer automatiquement les tickets et fournir des explications

2. Corriger automatiquement les tickets

@opencode fix this

Automatiquement :

  • Créer une nouvelle branche
  • Modifier le code
  • Soumettre une demande de fusion

3. Réviser les demandes de fusion

@opencode review this merge request

Analyser automatiquement :

  • Qualité du code
  • Bugs potentiels
  • Suggestions d'optimisation

5. Conseils avancés

1. Mots déclencheurs personnalisés

Vous pouvez@opencoderemplacez-le par d'autres mots-clés déclencheurs.

2. Configuration au niveau des tâches

En utilisant différents config_dir, vous pouvez obtenir :

  • Différents modèles pour différentes tâches
  • Différentes règles pour différents projets

3. Intégration avec l'automatisation CI

Vous pouvez obtenir :

  • Analyse planifiée des problèmes de code
  • Génération automatique de rapports hebdomadaires
  • Corriger automatiquement les bugs simples

6. Sécurité et bonnes pratiques

  • Utiliser les variables CI/CD pour stocker les secrets
  • Éviter de coder en dur les clés API dans le code
  • Contrôler raisonnablement les permissions du Runner
  • Limiter la portée des modifications automatiques du code
Autres extensions