IDEA configure l'environnement de développement skywalking

C'est le troisième jour de ma participation au défi de la mise à jour de novembre. Pour plus de détails sur l'événement, veuillez consulter : Défi de la dernière mise à jour 2021

avant-propos

Récemment, j'ai besoin de faire quelques extensions fonctionnelles à skywalking, et j'ai trié les étapes pour configurer l'environnement de développement sur ma propre idée. Le site officiel fournit les étapes à installer sur IntelliJ IDEA : Comment construire un projet | Apache SkyWalking , mais il est relativement fragmenté et il peut y avoir des situations inattendues dues à des problèmes d'environnement personnel, qui sont partagés ici.

alentours

  • Ordinateur : MacBook Pro (16 pouces, 2019) et système d'origine
  • Système d'exploitation : "mac os x", version : "10.15.7", arch : "x86_64"
  • IntelliJ IDEA : version finale 2020.2
  • WebStore : 2020.3
  • JDK : 1.8.0_271
  • Maven : Apache Maven 3.6.3
  • npm : 7.13.0
  • git : 2.15.0
  • skywalk : 8.5.0

Les problèmes environnementaux sont très importants. Par exemple, s'il ne s'agit pas de Mac OS, certaines des commandes exécutées ci-dessous doivent être ajustées de manière appropriée en fonction de votre propre environnement. Si la version d'IDEA est plus ancienne que la version que j'utilise, certaines fonctions de reconnaissance automatique de la configuration peuvent ne pas être assez conviviales, de sorte que les étapes que j'enregistre ci-dessous peuvent ne pas être entièrement applicables.

Description de l'adresse source

Bien que le skywalking soit principalement divisé en plusieurs parties, telles que : OAP back-end, interface utilisateur, agent, etc. Mais le code backend et l'interface utilisateur se trouvent principalement dans deux dépôts git :

Le backend est sur : github.com/apache/skyw…

La partie UI est sur : github.com/apache/skyw…

L'interface utilisateur est un sous-module qui agit comme un référentiel principal.

À partir de l'idée, vous pouvez créer directement les packages de version front-end et back-end, mais pour le développement, vous devez configurer séparément les environnements de développement front-end et back-end.

Étapes de configuration du backend

  1. cloner le code
git clone --recurse-submodules https://github.com/apache/skywalking.git
复制代码

La taille réelle du fichier de code total n'est pas petite. Si la connexion au réseau github est instable et que le clone échoue, d'autres solutions telles que la configuration d'un proxy peuvent être envisagées.

Une fois le téléchargement terminé, ouvrez le projet sans idée.

  1. compiler

Ouvrez une ligne de commande dans le répertoire racine du projet et exécutez la commande suivante :

mvn compile -Dmaven.test.skip=true
复制代码

Il m'a fallu 5 minutes pour compiler.

Vous pouvez également exécuter directement le package package pour tester si votre environnement peut être empaqueté et publié avec succès :

mvn package -Dmaven.test.skip=true
复制代码

S'il y a des erreurs liées telles que npm install node ou npm run build pendant le processus d'exécution, il peut s'agir d'un problème de réseau.Les solutions sont les suivantes :

Modifiez d'abord le frontend-maven-plugin dans le fichier pom.xml sous le module apm-webapp avec la configuration suivante :

install -g cnpm --registry=https://registry.npm.taobao.org
复制代码

Ensuite, réexécutez la commande d'empaquetage, attendez que l'exécution soit terminée ou qu'une erreur soit signalée : mais le plug-in a été exécuté, récupérez et réexécutez la commande ci-dessus :

  1. Cela peut prendre un certain temps pour ouvrir le projet avec une idée et introduire des dépendances, etc.

Grâce à la configuration d'identification intelligente d'IDEA, le code source généré à l'étape 2 a été configuré et aucune opération supplémentaire n'est requise.

Si l'idée n'est pas si intelligente, référez-vous à la documentation officielle pour configurer ces paquets source

  1. La classe de démarrage du serveur pour exécuter OAP, le module de démarrage du serveur sous le module oap-server, la valeur par défaut est la base de données h2, pas celle es

  1. Exécutez la classe de démarrage Web, dans le module apm-webapp, le journal de démarrage par défaut ne génère pas la console

  1. Visitez : http://localhost:8080/ , ce qui suit apparaît, indiquant que le démarrage est terminé

Si vous ne faites que développer et déboguer du code back-end, c'est très bien. Mais si cela implique le frontal, vous devez configurer l'environnement de développement frontal séparément.

Étapes de configuration de l'interface utilisateur

  1. Cloner le code et installer
git cloen https://github.com/apache/skywalking-rocketbot-ui.git
cd skywalking-rocketbot-ui
npm install
复制代码
  1. Ouvrir le projet avec webstorm

  2. exécuter la configuration

  1. En cours d'exécution, le service Web principal est arrêté à l'avance et un seul serveur OAP est en cours d'exécution. Le Web principal est une passerelle qui transfère les demandes à oap. Ici, la configuration par défaut de l'interface frontale demande directement le port de oap

Le port par défaut est 8080, visitez : http://localhost:8080/

La page s'affiche normalement, la configuration est terminée, et vous pouvez développer avec bonheur.

Je suppose que tu aimes

Origine juejin.im/post/7027666246380306462
conseillé
Classement