源码地址
gitee源码下载地址:https://gitee.com/OpenSkywalking/sky-walking
子模块初始化以及源码拉取
执行命令
git submodule init
git submodule update
git submodule update 这步骤很关键,因为该命令会获取skywalking子模块的源码,子模块包括apm-network、query-graphsql-plugin、skywalking-ui、e2e-ttl-es,具体子模块源码的路径可以查看项目根路径下的.gitmodules文件中
[submodule "apm-protocol/apm-network/src/main/proto"]
path = apm-protocol/apm-network/src/main/proto
url = https://github.com/apache/skywalking-data-collect-protocol.git
[submodule "oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol"]
path = oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol
url = https://github.com/apache/skywalking-query-protocol.git
[submodule "skywalking-ui"]
path = skywalking-ui
url = https://github.com/apache/skywalking-rocketbot-ui.git
[submodule "test/e2e/e2e-protocol/src/main/proto"]
path = test/e2e/e2e-protocol/src/main/proto
url = https://github.com/apache/skywalking-data-collect-protocol.git
构建成败也在于该命令是否能顺利进行,一般遇到的问题是长时间没有反应,获取拉去子模块源码失败,现象可能就是上述4个模块就只有一个文件夹,其中没有任何内容,导致上述现象的原因一般是因为子模块源码是需要到github.com取拉去,而很多时候我们去访问github.com的时候会访问超时,由于DNS解析耗时导致的,从而无法顺利拉取
解决github.com访问超时的方案:
进入https://www.ipaddress.com/网站,输入github.com
image.png
查询github.com在用ip如
image.png
在本机的host文件中添加github.com的配置
140.82.114.3 github.com
配置后在重新执行
git submodule update
顺利拉取源码后
#在skywalking目录下执行命令
mvn clean package -DskipTests
#编译agent包,由于第一次已构建过源码了,所以为了避免再次全部执行全部构建
mvn package -Pagent,dist -DskipTests
#编译backend包并且打完整包
mvn package -Pbackend,dist -DskipTests
#编译UI并且打完整包
mvn package -Pui,dist -DskipTests
打包成功后,会在dist目录下生成两个包
image.png
网友评论