Docker下,极速体验编译pinpoint1.6.x分支

pinpoint是一款优秀的APM监控工具(Application Performance Management),用java编写的,用于分布式系统的监控和调用链跟踪,git地址是:https://github.com/naver/pinpoint,这是个总工程,里面内容丰富,有pinpoint各个模块的源码,也有插件的、实例的源码,还有文档,如下图:

目前最新稳定版本是1.6.x,一次成功的编译所需步骤总结如下: 1. git下载pinpoint的1.6.x分支; 2. 安装jdk1.7版本; 3. 安装maven3; 4. 设置编译所需环境变量; 5. 开始编译;

我做了个镜像文件,把上面的步骤1到步骤4都做好了,咱们集中精力直奔主题吧;

一行命令,搞定编译环境

执行以下命令,可以将我们所需的容器启动:

docker run --name=ppcompile001 -p 19003:22 -idt bolingcavalry/jdk7-mvn339-pinpoint16x-compile:0.0.1

开始编译

先进入容器:

docker exec -it ppcompile001 /bin/bash

进入pinpoint工程目录/usr/local/work/pinpoint-1.6.x,执行以下命令开始编译:

mvn install -Dmaven.test.skip=true -e

大约7分钟编译环境完成,如下图:

我们来看一下构建成果: 1. collector包在此目录:/root/.m2/repository/com/navercorp/pinpoint/pinpoint-collector/1.6.3-SNAPSHOT,如下图:

2. web包在此目录:/root/.m2/repository/com/navercorp/pinpoint/pinpoint-web/1.6.3-SNAPSHOT,如下图:

如何导出容器中的文件

容器支持ssh登录,用SecureSRT客户端登录,端口是19003,密码是password,登录后再使用SFTP工具登录,如下图:

SFTP工具登录成功后执行如下操作: 1. 假设下载后的文件存放到本机的C:\temp\201711\002目录,请执行如下命令进入本机的C:\temp\201711\002目录:

lcd c:/temp/201711/002

这样下载目录就指定好了; 2. 进入要下载的文件所在目录:

cd /root/.m2/repository/com/navercorp/pinpoint/pinpoint-web/1.6.3-SNAPSHOT

准备完毕,可以下载了; 3. 开始下载:

get pinpoint-web-1.6.3-SNAPSHOT.war

如下图:

4. 在本机打开目录,可以看到文件已经下载下来了,如下图:

至此,编译构建pinpoint1.6.x的实战就完成了,后续的文章中,我们继续探索pinpoint的精彩世界;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python、Flask、Django

PHP开启临时WEB服务器

1413
来自专栏生信小驿站

R.python常见问题②(一些需要编译的包)

在R语言的广泛包中,大部分可以直接install.packages()直接命令安装,但是有些包安装过程比较复杂,例如'lightgbm,ggplot2所依赖的‘...

402
来自专栏散尽浮华

kafka 基础知识梳理及集群环境部署记录

1734
来自专栏CaiRui

ntp服务配置

在linux系统中,为了避免主机时间因为长时间运行下所导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的。linux系统下,一般使用nt...

38110
来自专栏开源优测

[接口测试_B] 02 Pytest的简单示例

Pytest是什么 Pytest是Python的一个测试工具,可以用于所有类型和级别的软件测试。Pytest是一个可以自动查找到你编写的用例并运行后输出结果的测...

2834
来自专栏架构师之旅

分布式文件系统GlusterFS介绍

最近因工作需要研究了一下分布式文件系统,主要用来解决文件存储的问题,今天给大家简单介绍一下Glusterfs(后面还将介绍另外一个开源软件CEPH)它是一个基于...

723
来自专栏CaiRui

cookie和session

cookie: 1. `cookie`出现的原因:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道...

1845
来自专栏分布式系统进阶

Kafka重置消费的OffsetKafka源码分析-汇总

1692
来自专栏lgp20151222

服务器部署nginx报错 nginx: [warn] conflicting server name "localhost" on xxx.xxx.xxx.xxx:80, ignored

提示successfull后就可以使用 nginx -s reload来重新加载配置

1222
来自专栏智能计算时代

Envoy 部署类型

Envoy可用于各种不同的场景,但是在跨基础架构中的所有主机进行网格部署时,它是最有用的。 本节介绍三种推荐的部署类型,其复杂程度越来越高。 服务到服务 服务到...

6256

扫码关注云+社区