相关疑难解决方法(0)

使用Groovy脚本从Jenkins中的Workspace读取文件

我想添加一个使用Groovy插件的Build步骤来读取文件并根据文件内容触发构建失败.

如何在groovy插件中注入工作区文件路径?

myFileDirectory = // Get workspace filepath here ???
myFileName = "output.log"
myFile = new File(myFileDirectory + myFileName)

lastLine = myFile.readLines().get(myFile.readLines().size().toInteger() - 1)
if (lastLine ==~ /.Fatal Error.*/ ){
    println "Fatal error found"
    System.exit(1)
} else{
   println "nothing to see here"
}
Run Code Online (Sandbox Code Playgroud)

groovy jenkins

27
推荐指数
5
解决办法
10万
查看次数

在Grails中放置文本文件的位置,以及如何获取路径

我需要在.txt文件中读入一个groovy类,以便逐行查询它.但我不确定我在grails应用程序中放入了什么文件夹,以及如何获取它的路径?

到目前为止,我已尝试将其置于src新文件夹下web-app/txt

我已经尝试了以下内容来阅读它

fileIn = new File('/lexicon.txt').text 
Run Code Online (Sandbox Code Playgroud)

fileIn = new File('txt/lexicon.txt').text
Run Code Online (Sandbox Code Playgroud)

无济于事.

任何身体有任何指针?

java grails inputstream file

25
推荐指数
4
解决办法
2万
查看次数

在 Jenkins 管道脚本中找不到文件

我正在尝试让当前在我们的 Jenkins 主节点上运行的管道脚本在远程 Jenkins 节点上执行。但我遇到了一个奇怪的FileNotFound例外。

我能够重现问题的最基本的管道版本是这样的:

node("remoteNode") {
env.SERVICE_VERSIONS_FILE = pwd() + '/service_versions.csv'
stage('Read file') {
  git credentialsId: '***', url: '***'      
  sh "cat $env.SERVICE_VERSIONS_FILE"
  new File(env.SERVICE_VERSIONS_FILE).each { line ->
    echo "$line"
   }
  }
}
Run Code Online (Sandbox Code Playgroud)

结果是:

>java.io.FileNotFoundException: /home/***/workspace/DeploymentPipelines/test-deployer/service_versions.csv
> (No such file or directory)   at java.io.FileInputStream.open0(Native
> Method)   at java.io.FileInputStream.open(FileInputStream.java:195)   at
> java.io.FileInputStream.<init>(FileInputStream.java:138)  at
> groovy.util.CharsetToolkit.<init>(CharsetToolkit.java:71)     at
> org.codehaus.groovy.runtime.ResourceGroovyMethods.newReader(ResourceGroovyMethods.java:1572)
>   at
> org.codehaus.groovy.runtime.ResourceGroovyMethods.readLines(ResourceGroovyMethods.java:533)
>   at
> org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.asCollection(DefaultTypeTransformation.java:461)
>   at
> org.codehaus.groovy.runtime.DefaultGroovyMethods.iterator(DefaultGroovyMethods.java:15955)
>   at org.codehaus.groovy.runtime.dgm$367.doMethodInvoke(Unknown Source)
>   at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213)
> …
Run Code Online (Sandbox Code Playgroud)

jenkins-groovy jenkins-pipeline

6
推荐指数
1
解决办法
9611
查看次数