一、 前提技术摘要
(一) 基础环境
- JDK1.8
- maven3.6+
- Git
(二) GitHub使用
国内克隆代码可能过慢,建议先使用码云放至私人仓库再从码云克隆项目。操作步骤如下:
1. 复制项目URL
复制GitHub上相应项目的URL
2. 码云导入
登录码云后在右上角选择“从GitHub/GitLab导入仓库”
直接粘贴URL会自动识别,导入即可
3. 克隆项目
使用git clone命令克隆项目时,使用如图所示的码云地址即可
(三) 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为你新导入码云的地址
执行Git命令,同步子模块
git submodule update
(四) 使用Idea导入skywalking
先使用maven进行编译
mvn compile -Dmaven.test.skip=true
过程中会自动npm install一下skywalking的前端工程,默认使用的镜像是https://registry.npmjs.org/
,如果有网络问题的话可以修改下镜像为淘宝的,在文件apm-webapp/pom.xml
中修改
编译完成后直接用idea打开skywalking文件夹就行
(五) 设置源文件夹
因为skywalking使用了gRPC和protobuf,所以需要设置一下自动生成的源文件夹将target目录下编译生成的如图所示的文件夹设为项目源文件夹(各版本不同,具体可参考官方文档)
设置为源文件夹方式:(新版本idea可以自动识别到生成的源文件夹,不需要手动设置了)
(六) 前端工程导入前端开发工具
skywalking-ui是一个基于TypeScript的VUE工程,可直接拖入VSCode,WebStorm,HBuilder等前端开发工具进行二次开发。
下一节:SkyWalking6.x工程项目源码目录结构分析(二)见: