相关疑难解决方法(0)

使用Jenkins管道中的Groovy创建包含一些内容的文件

我正在尝试创建一个名为groovy1.txt的文件,其内容为"使用Groovy方式轻松处理文件".

注意:我不想使用shell来创建此文件,而是希望使用Groovy来实现此目的.

我的Jenkins管道中有以下脚本.

node {
def file1 = new File('groovy1.txt')
file1.write 'Working with files the Groovy way is easy.\n'

sh 'ls -l'
// Expecting the file groovy1.txt should present with the content mentioned above
}
Run Code Online (Sandbox Code Playgroud)

但它正在抛出FileNotFound(权限被拒绝)错误,如下所示

java.io.FileNotFoundException: groovy1.txt (Permission denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
at java.io.FileWriter.<init>(FileWriter.java:90)
at org.codehaus.groovy.runtime.ResourceGroovyMethods.write(ResourceGroovyMethods.java:740)
at org.codehaus.groovy.runtime.dgm$1035.doMethodInvoke(Unknown Source)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:47)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:157)
at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:23)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:104)
at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:155)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:159)
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
at WorkflowScript.run(WorkflowScript:3) …
Run Code Online (Sandbox Code Playgroud)

groovy jenkins jenkins-job-dsl jenkins-groovy jenkins-pipeline

15
推荐指数
1
解决办法
2万
查看次数

詹金斯设置徽章作为预制步骤

我不确定这里的术语是否正确,所以我会尽量解释一下.我使用Jenkins来运行我们的Java自动化.对于被测产品的不同版本,有许多长期运行(2-10小时)的作业不断执行.我需要一种方法来快速查看作业的"构建历史记录"框,并查看哪个作业正在测试哪个产品版本.

我已成功使用Groovy Postbuild插件在构建历史记录框的构建右侧添加徽章(我认为就是这样).实际的groovy命令是:

manager.addShortText(version, "grey", "white", "0px", "white")
Run Code Online (Sandbox Code Playgroud)

这个问题是它在构建完成之前不会运行.我需要在构建开始之前做这样的事情.(我将有权访问版本预构建,因为它作为参数传入)

jenkins jenkins-plugins

4
推荐指数
1
解决办法
1845
查看次数