Docker 如何将作业的工作区从jenkins主容器复制到从属容器,并从从属容器复制回主容器?

Docker 如何将作业的工作区从jenkins主容器复制到从属容器,并从从属容器复制回主容器?,docker,jenkins,containers,Docker,Jenkins,Containers,对我来说,詹金斯的主人和奴隶都在码头集装箱上运行。我在主站上有一个作业的工作区,它是在调用从站(Linux docker容器)之前构建的。我想将主作业的工作区复制到从属容器中,因为该工作区中的文件将用于进一步执行 在从容器上成功执行后,它将生成大量日志文件,我想将这些文件复制回Jenkins master,以便将报告作为电子邮件发送 附言:詹金斯的主人和奴隶都运转顺利。从属容器是通过在docker模板中配置图像和其他必需的设置来创建的 我对Jenkins和docker容器很天真,我不知道如何才能

对我来说,詹金斯的主人和奴隶都在码头集装箱上运行。我在主站上有一个作业的工作区,它是在调用从站(Linux docker容器)之前构建的。我想将主作业的工作区复制到从属容器中,因为该工作区中的文件将用于进一步执行

在从容器上成功执行后,它将生成大量日志文件,我想将这些文件复制回Jenkins master,以便将报告作为电子邮件发送

附言:詹金斯的主人和奴隶都运转顺利。从属容器是通过在docker模板中配置图像和其他必需的设置来创建的


我对Jenkins和docker容器很天真,我不知道如何才能做到这一点。请给出一些实现这一目标的建议。提前感谢大家的努力和建议。

通常,您不会在构建代理之间共享工作区来交换文件/构建工件,但您将使用“构建工件”

您可以通过Jenkins管道脚本执行此操作。请参见以下示例中的
archiveArtifacts
步骤:

现在,您可以在下一个构建阶段复制工件,或者如果这是另一个构建作业,您可以使用for Jenkins


您将保存的工件不需要是“构建工件”,但可以是yur工作区中的任何文件。例如,您还可以归档测试文件,以便在以后的步骤中使用。

谢谢@a.K.您的解决方案对我来说已经起了一半作用,就像我能够使用复制工件从主机复制到从机一样。但在从机上执行后,它将生成日志和一些其他文件。如何将这些日志等从从属容器发送到主容器。一旦容器完成了它的执行,它将被杀死,并且容器的工作区将立即被删除。如何保存/复制从属容器工作区以用于报告目的?您还可以在从属容器上存档工件(报告日志)。然后,它们将显示在作业概述中(完成后),并自动存储在阿姆斯特丹节点上。如果报告可以通过插件解析(例如),那么您也可以在从节点上构建ypour之后添加日志解析。超级,还有一件事,归档工件将存储在哪里?我如何访问它?请查看有关如何为Jenkins使用归档工件/复制工件的文档。这将回答您的大部分问题。如果您的解决方案有一些更具体的问题,您仍然可以提出。