Articles of groovy

从linux内的jvm中查找硬性和软性打开的文件限制(ulimit -n和ulimit -Hn)

我有一个问题,我需要从java / groovy程序中找出linux中进程的软硬件打开文件限制。 当我从terminal执行ulimit时,会为软打开的文件限制提供单独的值。 $ ulimit -n 1024 $ ulimit -Hn 4096 但是,如果我常规执行它,它会忽略软限制并始终返回硬限制值。 groovy> ['bash', '-c', 'ulimit -n'].execute().text Result: 4096 groovy> ['bash', '-c', 'ulimit -Hn'].execute().text Result: 4096 请让我知道,如果我失去了一些东西。 我已经使用Ubuntu 12.04,Groovy版本:1.8.4 JVM:1.6.0_29执行。 更新 :我在Java中尝试了同样的事情。 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.io.StringWriter; import java.io.Writer; public class LinuxInteractor { public static int executeCommand(String […]

在jenkinspipe道上运行bash命令

我想在jenkinspipe道中运行bash命令,而不是在groovy脚本中使用shell命令: 我已经尝试使用“#!/ bin / bash”: stage('Setting the variables values') { steps { sh ''' #!/bin/bash echo "hello world" ''' } } 也尝试使用“bash”而不是“sh” stage('Setting the variables values') { steps { bash ''' #!/bin/bash echo "hello world" ''' } } 显然,我的命令比'回声你好世界'复杂。

我如何执行一个任意的脚本与其目录中的工作目录?

我需要从bash执行一个groovy脚本文件,我需要脚本有一个它所在的目录的工作目录。 也就是说,在我的bash脚本中,我正在这样做: /opt/script/myscript.groovy & 但是,这似乎将工作目录设置为/etc/init.d ,我从调用的目录。 如何将该脚本的工作目录更改为/opt/script ?

在Jenkins构build步骤中从Groovy脚本访问构build环境variables(Windows)

我正在使用Scriptler插件,所以我可以运行Groovy脚本作为构build步骤。 我的jenkins奴隶在服务模式下运行在窗口。 使用脚本程序,我不需要使用Windows批处理脚本。 但是我在构build步骤中遇到了环境variables的麻烦…这是行得通的: System.getenv("BASE") BASE是jenkins启动环境中的一部分。 不过,我想知道 %JOB_NAME% 如果我添加“执行Windows批处理命令”构build步骤: echo %JOB_NAME% 有用。 如果我使用相同的设置作为构build步骤添加脚本程序脚本: println "JOB_NAME: " + System.getenv("JOB_NAME") 我越来越: JOB_NAME: null 那么我怎样才能从Groovy脚本到达注入的环境variables呢?

运行groovy时windows CMD的怪异行为

我有一个groovy脚本,重命名文件,匹配正则expression式我这样启动它 C:\>groovy rename test.* test.txt 它工作正常。 但是当我尝试传递这个正则expression式时: C:\>groovy rename test\.(.*) $1_TEST_$1 命令行会返回一条消息: The syntax of the command is incorrect 这不是我的脚本 – 它的cmd写这个。 我的脚本从来没有运行。 即使我把参数(正则expression式)换成引号也会发生。 问:为什么? 我怎么能通过任何正则expression式作为参数? 由于没有人能够弄清楚发生了什么,我做了一个更简单的例子: test.groovy println args[0] 我运行它: groovy test Bob和输出,不出人意料, Bob 。 但是当我运行如groovy test .*我得到The syntax of the command is incorrect 。 当我运行它groovy test *然后一个PDF文件的名称出来(这恰好是在test.groovy相同的目录)

Gradle没有findtools.jar

我正在使用javadoc doclet和gradle,所以我需要使用包中的tools.jar,它位于jdk的lib文件夹(在我的例子中是1.6.0_26)。 关键是Gradle不会自动把它join,所以我把这个工具包添加到我的libs文件夹,然后把它添加到dependencies.gradle。 现在,我想直接从我的JDK家里进入我的dependencies.gradle。 有没有办法做到这一点? 我在我的dependencies.gradle中尝试了下一个: compile files("${System.properties['java.home']}/lib/tools.jar") 但在编译时找不到它。