一、 前提技术摘要

(一) 基础环境

  • JDK1.8
  • maven3.6+
  • Git

(二) GitHub使用

国内克隆代码可能过慢,建议先使用码云放至私人仓库再从码云克隆项目。操作步骤如下:

1. 复制项目URL

复制GitHub上相应项目的URL

skywalking 架构图 skywalking cli_skywalking 架构图

2. 码云导入

登录码云后在右上角选择“从GitHub/GitLab导入仓库”

skywalking 架构图 skywalking cli_java_02


直接粘贴URL会自动识别,导入即可

skywalking 架构图 skywalking cli_maven_03

3. 克隆项目

使用git clone命令克隆项目时,使用如图所示的码云地址即可

skywalking 架构图 skywalking cli_java_04

(三) Idea(建议)或Eclipse开发工具使用

SkyWalking是一个复杂的Maven项目,包括许多模块,Idea对此模式开发更有利,且导入不需要修改配置。

(四) Maven模块化构建

二、 建立项目

(一) 准备

准备git,JDK8和maven3

(二) 克隆项目

建议使用码云URL

git clone https://github.com/apache/skywalking.git
cd skywalking/
git submodule init

(三) 更新子模块

执行Git命令

git submodule init

如果都使用码云,需要修改子模块URL,在./.git/config文件中找到submodule的URL,按照上述方法,把这些在github上的子模块都导入到码云上,并修改./.git/config中子模块的url为你新导入码云的地址

skywalking 架构图 skywalking cli_java_05


执行Git命令,同步子模块

git submodule update

(四) 使用Idea导入skywalking

先使用maven进行编译

mvn compile -Dmaven.test.skip=true

过程中会自动npm install一下skywalking的前端工程,默认使用的镜像是https://registry.npmjs.org/,如果有网络问题的话可以修改下镜像为淘宝的,在文件apm-webapp/pom.xml中修改

skywalking 架构图 skywalking cli_skywalking 架构图_06

编译完成后直接用idea打开skywalking文件夹就行

(五) 设置源文件夹

因为skywalking使用了gRPC和protobuf,所以需要设置一下自动生成的源文件夹将target目录下编译生成的如图所示的文件夹设为项目源文件夹(各版本不同,具体可参考官方文档

skywalking 架构图 skywalking cli_github_07

设置为源文件夹方式:(新版本idea可以自动识别到生成的源文件夹,不需要手动设置了)

skywalking 架构图 skywalking cli_github_08

(六) 前端工程导入前端开发工具

skywalking-ui是一个基于TypeScript的VUE工程,可直接拖入VSCode,WebStorm,HBuilder等前端开发工具进行二次开发。

下一节:SkyWalking6.x工程项目源码目录结构分析(二)见: