11月のアップデートチャレンジに参加して3日目です。イベントの詳細については、2021年の最終アップデートチャレンジを確認してください。
序文
最近、スカイウォーキングの機能を拡張する必要があり、自分の考えで開発環境を構成する手順を整理しました。公式ウェブサイトには、IntelliJ IDEAにインストールする手順が記載されています:プロジェクトのビルド方法| Apache SkyWalkingですが、比較的断片化されており、個人的な環境問題のために予期しない状況が発生する可能性があります。これらはここで共有されます。
周囲
- コンピューター:MacBook Pro(16インチ、2019)および元のシステム
- OS: "mac os x"、バージョン: "10.15.7"、アーチ: "x86_64"
- IntelliJ IDEA:2020.2最終リリース
- WebStorem:2020.3
- JDK:1.8.0_271
- maven:Apache Maven 3.6.3
- npm:7.13.0
- git:2.15.0
- スカイウォーキング:8.5.0
環境問題は非常に重要です。たとえば、Mac OSでない場合、以下で実行するコマンドの一部は、ご使用の環境に応じて適切に調整する必要があります。IDEAのバージョンが私が使用しているバージョンよりも古い場合、自動構成認識の一部の機能が十分に対応できない可能性があるため、以下に記録する手順が完全に適用できない可能性があります。
送信元アドレスの説明
スカイウォーキングは主に、バックエンドOAP、UI、エージェントなど、複数の部分に分かれています。ただし、バックエンドコードとUIは主に2つのgitリポジトリにあります。
バックエンドは次の場所にあります:github.com/apache/skyw…
UIの部分は次の場所にあります:github.com/apache/skyw…
UIは、バックエンドリポジトリとして機能するサブモジュールです。
アイデアから、フロントエンドとバックエンドのリリースパッケージを直接構築できますが、開発の場合は、フロントエンドとバックエンドの開発環境を別々に構成する必要があります。
バックエンドの構成手順
- クローンコード
git clone --recurse-submodules https://github.com/apache/skywalking.git
复制代码
合計コードファイルの実際のサイズは小さくありません。githubネットワークへの接続が不安定でクローンが失敗する場合は、プロキシの設定などの他の解決策を検討できます。
ダウンロードが完了したら、知らないうちにプロジェクトを開きます。
- コンパイル
プロジェクトのルートディレクトリでコマンドラインを開き、次のコマンドを実行します。
mvn compile -Dmaven.test.skip=true
复制代码
コンパイルするのに5分かかりました。
パッケージパッケージを直接実行して、環境を正常にパッケージ化およびリリースできるかどうかをテストすることもできます。
mvn package -Dmaven.test.skip=true
复制代码
実行プロセス中にnpminstallnodeやnpmrunbuildなどの関連エラーがある場合は、ネットワークの問題である可能性があります。解決策は次のとおりです。
まず、apm-webappモジュールの下にあるpom.xmlのfrontend-maven-pluginを次の構成に変更します。
install -g cnpm --registry=https://registry.npm.taobao.org
复制代码
次に、パッケージ化コマンドを再実行し、実行が完了するかエラーが報告されるまで待ちます。ただし、プラグインは実行され、回復して、上記のコマンドを再実行します。
- アイデアを持ってプロジェクトを開き、依存関係などを導入するのに時間がかかる場合があります。
IDEAのインテリジェントな識別構成のおかげで、ステップ2で生成されたソースコードが構成されており、追加の操作は必要ありません。
アイデアがそれほど賢くない場合は、公式ドキュメントを参照してこれらのソースパッケージを構成してください
- OAPを実行するためのサーバー起動クラス(oap-serverモジュールの下のserver-starterモジュール)。デフォルトはh2データベースであり、esデータベースではありません。
- Webスタートアップクラスを実行します。apm-webappモジュールでは、デフォルトのスタートアップログはコンソールを出力しません。
- http:// localhost:8080 /にアクセスすると、次のように表示され、起動が完了したことを示します。
バックエンドコードを開発してデバッグするだけであれば、これで問題ありません。ただし、フロントエンドが関係する場合は、フロントエンド開発環境を個別に構成する必要があります。
UI構成手順
- コードのクローンを作成してインストールします
git cloen https://github.com/apache/skywalking-rocketbot-ui.git
cd skywalking-rocketbot-ui
npm install
复制代码
-
webstormでプロジェクトを開きます
-
構成を実行する
- 実行中、バックエンドWebサービスは事前に停止され、1つのOAPサーバーのみが実行されています。バックエンドWebは、リクエストをoapに転送するゲートウェイです。ここで、フロントエンドのデフォルト構成は、oapのポートを直接リクエストします。
デフォルトのポートは8080です。http:// localhost:8080/にアクセスしてください。
ページが正常に表示され、設定が完了し、楽しく開発できます。