首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Jenkins中上载的文件参数丢失。

在Jenkins中上载的文件参数丢失。
EN

Stack Overflow用户
提问于 2019-12-27 11:30:29
回答 2查看 7.8K关注 0票数 3

在Jenkins构建的文件参数“帮助文本”中,

接受来自浏览器的文件提交作为生成参数。上传的文件将放置在工作区中的指定位置,然后生成可以访问和使用该位置。这对于许多情况都是有用的,例如:

  • 让人们对他们构建的工件进行测试。
  • 通过允许用户放置文件来自动化上传/发布/部署过程。
  • 通过上载数据集来执行数据处理。

提交文件的名称在与文件位置相同的环境变量中可用。例如,如果将文件位置设置为abc.zip,则${abc.zip}将为您提供从浏览器传递的原始文件名(例如my.zip)。名称将不包括目录名称部分。

文件上传是可选的。如果用户选择不上传任何内容,Jenkins只需跳过这个参数,就不会放置任何内容(但它也不会删除工作区中已经存在的任何内容)。

和“文件位置”

指定工作空间中的相对位置,将上传的文件放在其中(例如,"jaxb-ri/data.zip")

简单上传压缩文件的每个例子-似乎没有上传文件在任何地方-既不是在工作区,也不是在某个临时目录下。如何定位文件&/利用它?

以下是文件上传尝试的简单管道。

代码语言:javascript
运行
复制
properties(
    [
        parameters(
            [ file(name: "file1", file: "file1.zip", description: 'Choose path to upload file1.zip from local system.') ]
            )
    ]
)

node {
    stage("Upload File") {
        sh '''
        ls -lrt
        ls  ${file1.zip} ${file1} file1.zip
        '''
     }


}

以及控制台日志中观察到的运行中的相应错误。

代码语言:javascript
运行
复制
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Upload File)
[Pipeline] sh
[testSh] Running shell script
+ ls -lrt
total 0
Workspacedir///testSh@tmp/durable-ba40512f/script.sh: line 4: ${file1.zip}: bad substitution
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE

已经尝试了Groovy的建议(多种方法):在Jenkins中获取二进制文件或压缩上传的文件- Windows无法打开文件夹。压缩(压缩)文件夹无效。,但是没有成功。

EN

Stack Overflow用户

发布于 2019-12-27 22:22:21

问题带有文件参数的Jenkins管道作业已经给出了这个问题的答案。

代码语言:javascript
运行
复制
new hudson.FilePath(new File("file1.zip")).copyFrom(file1)
file1.delete()
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59500141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档