mirror of
https://github.com/alibaba/arthas.git
synced 2024-04-21 10:21:39 +00:00
as-package.sh support maven wrapper and auto extract project version. #39
This commit is contained in:
+22
-3
@@ -16,9 +16,28 @@
|
||||
|
||||
### 安装到本地
|
||||
|
||||
本地开发时,可以执行`as-package.sh`来打包,会自动安装最新版本的arthas到`~/.arthas`目录里。debug时会自动使用最新版本。
|
||||
本地开发时,推荐执行`as-package.sh`来打包,会自动安装最新版本的arthas到`~/.arthas`目录里。debug时会自动使用最新版本。
|
||||
|
||||
也可以直接 `mvn clean package -DskipTests`打包,生成的zip在 `packaging/target/` 下面
|
||||
`as.sh`在启动时,会对`~/.arthas/lib`下面的目录排序,取最新的版本。`as-package.sh`在打包时,会取`pom.xml`里的版本号,再拼接上当前时间,比如: `3.0.5.20180917161808`,这样子排序时取的就是最新的版本。
|
||||
|
||||
也可以直接 `./mvnw clean package -DskipTests`打包,生成的zip在 `packaging/target/` 下面。但是注意`as.sh`启动加载的是`~/.arthas/lib`下面的版本。
|
||||
|
||||
### Debug
|
||||
|
||||
Arthas启动过程分为两部分:
|
||||
|
||||
1. 执行`com.taobao.arthas.core.Arthas`,查找到合适的jvm,然后attach上面。如果想debug这部分代码,可以直接
|
||||
|
||||
```
|
||||
./as.sh debug pid
|
||||
```
|
||||
JPDA端口是`8888`,然后可以远程连接来debug。
|
||||
如果启动时等待,则
|
||||
```
|
||||
JPDA_SUSPEND=y ./as.sh debug pid
|
||||
```
|
||||
|
||||
1. attach成功之后,arthas agent运行目标进程里。想要调试agent的代码,则需要目标进程本身是以debug方式启动的。可以直接引入arthas的source,打断点
|
||||
|
||||
### 全量打包
|
||||
|
||||
@@ -29,7 +48,7 @@
|
||||
* 全量打包时,需要配置下面的参数(目前只支持mac/linux):
|
||||
|
||||
```
|
||||
mvn clean package -DskipTests -P full -Dsphinx.binUrl=https://github.com/hengyunabc/sphinx-binary/releases/download/v0.4.0.1/sphinx.osx-x86_64
|
||||
./mvnw clean package -DskipTests -P full -Dsphinx.binUrl=https://github.com/hengyunabc/sphinx-binary/releases/download/v0.4.0.1/sphinx.osx-x86_64
|
||||
```
|
||||
|
||||
|
||||
|
||||
+8
-2
@@ -2,7 +2,12 @@
|
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
CUR_VERSION="3.0.3"
|
||||
get_local_maven_project_version()
|
||||
{
|
||||
$DIR/mvnw org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -e '^[^\[]' | cut -b 1-5
|
||||
}
|
||||
|
||||
CUR_VERSION=$(get_local_maven_project_version)
|
||||
|
||||
# arthas's version
|
||||
DATE=$(date '+%Y%m%d%H%M%S')
|
||||
@@ -24,10 +29,11 @@ exit_on_err()
|
||||
exit ${1}
|
||||
}
|
||||
|
||||
|
||||
packaging_bin_path="$(ls ${DIR}/packaging/target/arthas-*-bin.zip)"
|
||||
|
||||
# maven package the arthas
|
||||
mvn clean package -Dmaven.test.skip=true -f $DIR/pom.xml \
|
||||
$DIR/mvnw clean package -Dmaven.test.skip=true -f $DIR/pom.xml \
|
||||
|| exit_on_err 1 "package arthas failed."
|
||||
|
||||
rm -r $DIR/core/src/main/resources/com/taobao/arthas/core/res/version
|
||||
|
||||
@@ -10,7 +10,7 @@ Arthas 支持在 Linux/Unix/Mac 等平台上一键安装,请复制以下内容
|
||||
curl -L https://alibaba.github.io/arthas/install.sh | sh
|
||||
```
|
||||
|
||||
上述命令将会下载的启动脚本文件 `as.sh` 到当前目录,你可以放在任何地方或将其加入到 $PATH 中。
|
||||
上述命令将会下载的启动脚本文件 `as.sh` 到当前目录,你可以放在任何地方或将其加入到 `$PATH` 中。
|
||||
|
||||
直接在shell下面执行`./as.sh`,就会进入交互界面。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user