support Debian Package. (#775)

This commit is contained in:
Sahil Jha 2019-07-30 13:40:22 +05:30 committed by hengyunabc
parent 4b63aa52da
commit c93340bec9
5 changed files with 214 additions and 0 deletions

View File

@ -36,6 +36,84 @@
</build>
<profiles>
<profile>
<id>deb</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<artifactId>jdeb</artifactId>
<groupId>org.vafer</groupId>
<version>1.7</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jdeb</goal>
</goals>
</execution>
</executions>
<configuration>
<skipPOMs>false</skipPOMs>
<deb>${project.build.directory}/arthas.deb</deb>
<dataSet>
<data>
<src>${project.build.directory}/arthas-${project.version}-bin</src>
<type>directory</type>
<mapper>
<type>perm</type>
<strip>1</strip>
<prefix>/usr/share/arthas</prefix>
<user>loader</user>
<group>loader</group>
</mapper>
</data>
<data>
<src>${project.build.directory}/arthas-${project.version}-bin/as.sh </src>
<type>file</type>
<mapper>
<type>perm</type>
<strip>1</strip>
<prefix>/usr/bin</prefix>
<filemode>755</filemode>
<user>root</user>
<group>root</group>
</mapper>
</data>
<data>
<src>../packaging/src/deb/man1/arthas.1</src>
<type>file</type>
<mapper>
<type>perm</type>
<strip>1</strip>
<prefix>/usr/share/man/man1</prefix>
<filemode>755</filemode>
<user>loader</user>
<group>loader</group>
</mapper>
</data>
<data>
<src>../packaging/src/deb/copyright/copyright.1</src>
<type>file</type>
<mapper>
<type>perm</type>
<strip>1</strip>
<prefix>/usr/share/doc/arthas</prefix>
<filemode>755</filemode>
<user>loader</user>
<group>loader</group>
</mapper>
</data>
</dataSet>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>full</id>
<build>

View File

@ -0,0 +1,10 @@
Package: arthas
Version: [[version]]
Section: misc
Priority: optional
Architecture: all
Depends: jdk (>= 1.5)
Maintainer: arthas <https://github.com/alibaba/arthas>
Description: Arthas is a Java Diagnostic tool open sourced by Alibaba.
Distribution: development
Depends: telnet, curl, unzip

View File

@ -0,0 +1,17 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: arthas
Source: https://github.com/alibaba/arthas
Files: *
Copyright: 2019, Alibaba
License: Apache-2.0 or GPL-3
License: Apache-2.0
On Debian systems, the full text of the Apache-2.0 license
can be found in the file '/usr/share/common-licenses/Apache-2.0'
License: GPL-3
On Debian systems, the full text of the GPL-3 license
can be found in the file '/usr/share/common-licenses/GPL-3'

View File

@ -0,0 +1,108 @@
.\" Manpage for Arthas
.\" Submit an issue to https://github.com/alibaba/arthas to coreect errors and fix typos.
.TH man 1 "3.1.2" "Arthas man page"
.SH NAME
Arthas \- Alibaba Java Diagnostic Tool
.SH SYNOPSIS
.B as [-h] [--target-ip <value>] [--telnet-port <value>]
[--http-port <value>] [--session-timeout <value>] [--arthas-home <value>]
[--use-version <value>] [--repo-mirror <value>] [--versions] [--use-http]
[--attach-only] [-c <value>] [-f <value>] [-v] [pid]
.SH DESCRIPTION
Arthas is a Java Diagnostic tool open sourced by Alibaba, Arthas allows developers
to troubleshsoot production issues for Java applications without modifying code
or restarting servers.
Oftentimes the production system network is inaccessible from local development
envoirnment. if issues are encountered in production systems, it is impossible to
use the IDE to debug the application remotely, What's even worse, debugging in
production envoirnment is unacceptable, as it will suspend all the threads, leading
to services downtime.
And if you're thinking of adding some logs to your code to help troubleshsoot the
issue, you'll have to go through the following lifecycle: test, staging, and then to
production, which is for sure going to take a lot of time and also this is an inefficient
approach! Worse still, the issue may not be fixed since it might be irreproduceable
once the JVM is restarted as above.
Arthas is built to solve these issues. A developer can troubleshoot production
issues on the fly. No JVM restart. no additional code changes. Arthas works as
an observer, that is, it will never suspend your running threads.
.SH OPTIONS AND ARGUEMENTS
.TP
.B -h, --help
print usage
.TP
.B --target-ip <value>
The target JVM listen ip, the default ip is 127.0.0.1
.TP
.B --telnet-port <value>
The target jvm listen telnet port, default is 3658
.TP
.B --http-port <value>
The target jvm listen http port, default is 8563
.TP
.B --session-timeout <value>
The session timeout time in seconds, default 1800 (30min)
.TP
.B --arthas-home <value>
The arthas home
.TP
.B --use-version <value>
Use specific version of arthas
.TP
.B --repo-mirror <value>
Use special maven repository mirror, value is center/aliyun or http repo url.
.TP
.B --versions
List local and remote arthas versions
.TP
.B --use-http
Enforce use http to download, default use https
.TP
.B --attach-only
Attach target process only, do not connect
.TP
.B --debug-attach
Debug attach agent
.TP
.B -c, --command <value>
Command to execute, multiple commands separated by ";"
.TP
.B -f, --batch-file <value>
The batch file to execute
.TP
.B --height <value>
arthas-client terminal height
.TP
.B --width <value>
arthas-client terminal width
.TP
.B -v, --verbose
Verbose, print debug info.
.TP
.B <pid>
Target pid

View File

@ -4,6 +4,7 @@
<id>bin</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
<format>dir</format>
<format>zip</format>
</formats>