当前位置: 首页 > 面试题库 >

如何将文本追加到jenkinsfile中的文件

廉元龙
2023-03-14
问题内容

如何在Jenkinsfile注入Jenkins时将文本追加到文件中BUILD_ID

我希望看到

version := "1.0.25"

25在哪里 BUILD_ID

这是我的尝试

import hudson.EnvVars

node {

  stage('versioning'){
    echo 'retrieve build version'
    sh 'echo version := 1.0.${env.BUILD_ID} >> build.sbt'
  } 
}

错误:

版本:= 1.0。$ {env.BUILD_ID}:替换错误

注意文件在当前目录中


问题答案:

env.BUILD_ID是一个groovy变量,而不是一个shell变量。由于您使用了单引号('),因此groovy 不会
替换字符串中的变量,并且Shell也不知道${env.BUILD_ID}。您需要使用双引号"并让groovy进行替换

sh "echo version := 1.0.${env.BUILD_ID} >> build.sbt"

或使用外壳程序知道的变量

sh 'echo version := 1.0.$BUILD_ID >> build.sbt'

并且由于您需要用双引号引起来的版本,因此需要这样的内容:

sh "echo version := \\\"1.0.${env.BUILD_ID}\\\" >> build.sbt"


 类似资料:
  • 问题内容: 我发现os.Open()返回O_RDONLY文件,而os.Create()返回O_RDWR,但是找不到方法返回APPEND文件指针。 有什么帮助吗? 问题答案: 该OpenFile需要一个标志参数,您可以使用: 与O_CREATE一起使用,OpenFile还可以起到与os.Create()相同的作用。

  • < code>fd.append("upload ",file)产生, 产生, 但我需要这个, 这是我的代码:

  • 问题内容: 我需要通过Java将文本添加到文本文件的开头。 例如我有带有数据的test.txt文件: 我需要添加(到文件顶部): 它应该是: 我有一部分代码,但是将数据追加到文件末尾,我需要将其添加到文件顶部: 我已经尝试过了,但这只会从文件中删除所有数据,而不会插入任何文本: 谢谢你的帮助。 问题答案: 在开始写入之前,可以使用RandomAccessFile来使用方法来 查找 光标并将其定位。

  • 问题内容: 在java中如何追加文本到存在的文件中? 问题答案: Java 7+ 如果你只需要执行一次,则使用Files类很容易: 注意:NoSuchFileException如果文件不存在,上述方法将抛出。它还不会自动追加换行符(追加到文本文件时通常会需要此换行符)。 但是,如果你要多次写入同一文件,则上述操作必须多次打开和关闭磁盘上的文件,这是一个缓慢的操作。在这种情况下,使用缓冲写入器更好:

  • 问题内容: 我想用Java中的swingworkerclass循环添加文本。对于前: 我希望与swingworker一起使用,因为我希望看到textarea上的所有更新。对于此代码,我只有在完成处理后才能看到更新。 我不想在其他情况下使用swingworker示例。请在这里给我一些代码。谢谢。 问题答案: SwingWorker不在这里。您的代码未在EDT中运行,因此看不到更新。您可以使用Swin

  • 问题内容: 在Linux中将文本附加到文件的最简单方法是什么? 我看了这个问题,但是可接受的答案使用了一个附加程序(),我相信应该有一个更简单的方法或类似方法。 问题答案: cat >> filename This is text, perhaps pasted in from some other source. Or else entered at the keyboard, doesn’t