花了好长时间写了一个Java脚本,准备在Jenkins末尾时处理一些事务。 结果Jenkins上居然只有shell和python几种脚本语言可以选,当然不能重新写了,于是准备直接调用java。 网上居然不能找到解决办法...懵了..于是自己想了一种方法实现。

首先发现Jenkins是Tomcat搭建的,那么服务器肯定支持java了。

摸索了一下,发现Jenkins上能直接调用java -version,于是这个方向是可行的。

生成jar

Jenkins不能直接上传文件,因此得想个方法把java文件上传上去。

即使上传了java,还得javac java来一套,如果依赖太多就更麻烦了,于是直接生成jar以便调用。

生成jar的基操:

  1. 打开Project Structure
  2. 点击Artifacts,+号,JAR,From modules with dependencies...,选择一个主函数即可。
  3. 在out目录中找到jar即可

Jenkins1

Jenkins2

上传jar

如何上传呢?可以把Jenkins工作目录看做一个可执行shell的服务器,使用linux基操,wget即可...

  1. 将jar放在一个公网可访问的地方(由于没公司服务器权限,我放在了自己服务器上,对象存储如果不担心流量开支也可以)
  2. wget http://xxx.xxx.com/xxx.jar,将文件存放至当前目录

调用jar

直接java -jar xxx.jar是不行的,需要更新一下环境变量。 shell中环境变量的更新方式是

. ~/.bash_profile

然后正常调用jar即可

java -jar xxx.jar -arguments