gpt4 book ai didi

docker - Jenkins Pipeline 和 Docker - 如何从容器归档文件

转载 作者:行者123 更新时间:2023-12-04 15:50:44 28 4
gpt4 key购买 nike

根据 Jenkins Pipeline Docs ,我应该能够在使用 Docker 时使用管道步骤。但是,“ archiveArtifacts ”似乎不起作用:

    def container = docker.image("some_image")
container.inside {
sh 'date > /tmp/test.txt'
sh 'cat /tmp/test.txt' //works, shows file

def fileContents = readFile '/tmp/test.txt' //works
echo "Contents: ${fileContents}" //works, shows file

archiveArtifacts '/tmp/*.txt' //FAILS
}

错误 :未找到与文件模式“/tmp/*.txt”匹配的工件。配置错误?”。

我尝试过的事情:
  • 在存档步骤之前添加同步和 sleep (5),以防这是文件同步问题。
  • 尝试存档 '/*' 和 '*',以防它在主机上运行(同样的错误)。

  • 关于归档 Docker 容器中生成的文件的任何建议?

    PS:我开了一个 bug report ...看起来 archiveArtifacts 只能处理 docker 容器中 $WORKSPACE 中的文件。

    最佳答案

    您似乎已经找到了 the same Jira ticket 中报告的解决方案所以我会在这里发布给大家:

    this works fine:

    def image = docker.image("alpine")
    image.inside {
    sh 'date > /tmp/test.txt'
    sh "cp /tmp/test.txt ${WORKSPACE}"
    archiveArtifacts 'test.txt'
    }

    关于docker - Jenkins Pipeline 和 Docker - 如何从容器归档文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50457383/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com