groovy Jenkins Pipeline重命名文件

wkyowqbh  于 4个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(88)

我必须对现有的Jenkins管道进行更改。我需要重命名文件以合并版本。该版本已在脚本的其他部分中使用。
这是我发现的,但rename-item不被识别为命令。我在哪里可以找到我可以使用的命令?如何使其工作?

stage('Rename') {
    bat """
        rename-item -Path "C:\\temp\\OriginalName.exe" -NewName "OriginalName-${version}.exe"
    """
}

字符串
Tia

lztngnrs

lztngnrs1#

我不知道你的目标是这个问题(在哪里重命名文件)我希望你能指定你的问题更多。
当你想在多个阶段使用文件时,最好的方法是先将文件上传到Jenkins工作区,这样它就可以集中起来。
这就是为什么我假设你想在Jenkins管道工作区中重命名一个文件,这样你就可以在多个阶段中使用重命名的文件。
现在让我给你给予我的Jenkins管道的代码。我的Jenkins目前运行在Ubuntu 22.04机器上,使用Linux操作系统。请记住这一点,因为文件操作中的目标和源可能与Windows操作系统不同。
现在要使用fileOperations,您需要下载Jenkins插件“文件操作插件”。x1c 0d1x
下载插件后,您可以像这样使用fileOperations来实现您想要的结果,这里有一个在Jenkins管道工作区中重命名二进制文件的示例。

注意以下代码工作 * 如果 * 你想重命名的文件,在进入这个阶段之前,在构建的Jenkins工作区中存在。

stage('Rename target/hello-world.war to target/hello-world-test.war') {
        steps {
            script {
                fileOperations([
                    fileRenameOperation(
                        destination: 'target/hello-world-test.war',
                        source: 'target/hello-world.war'
                    )
                ])
            }
        }
    }

字符串
要重命名其他类型的文件,请检查File Operations PluginRename a file - Jenkins - StackoverFlow。在StackOverflow页面上,向下滚动到Gunnar的答案。这一个严格替换Jenkins管道工作区中的文件。
原来的答案(标记为绿色的那个)在我看来并不完全正确,因为它用旧文件的内容写了一个文件,但是用旧名称写的旧文件仍然存在。
现在运行一个新的管道构建。我们可以通过执行以下操作来检查重命名阶段是否有效:
1.检查特定管道作业构建的控制台输出。

1.检查特定管道作业构建的Jenkins管道工作区。



正如你所看到的,文件在Jenkins工作区中被成功替换,你现在可以创建其他阶段,可以从Jenkins工作区使用这个重命名的文件!

相关问题