我正在尝试编写一个Jenkinsfile
,其阶段会创建一个新文件并在以后使用。
无论我做什么我都会遇到以下错误:
java.io.FileNotFoundException: ./ci/new_file.txt (No such file or directory)
这是相关的代码块:
pipeline {
agent any
stages {
stage('Some Stage') {
steps {
script{
file = new File('./ci/new_file.txt').text
file.createNewFile()
}
}
}
}
}
我回答了一些类似的问题,但到目前为止没有任何帮助。 请指教。
答案 0 :(得分:1)
您尚未实际创建文件并尝试读取此文件。您必须先创建文件,然后再使用它。 例如:
pipeline {
agent any
stages {
stage('Some Stage') {
steps {
script {
File file = new File('./ci/new_file.txt')
file.createNewFile()
//...
String fileText = ... read file
}
}
}
}
}
但这不是您的最佳解决方案。最好使用詹金斯步骤“ readFile”和“ writeFile”。文档在这里-https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/ 例如:
pipeline {
agent any
stages {
stage('Some Stage') {
steps {
script {
writeFile file: "./ci/new_file.txt", text: "Some Text"
//...
String fileText = readFile file: "./ci/new_file.txt"
}
}
}
}
}
答案 1 :(得分:0)
您的管道代码是否在远程代理上执行?
Cloudbees指出java.io.File
可能无法在管道中使用,建议使用本机管道步骤与文件进行交互。