如何在Jenkins中使用Python脚本将文件夹移动到另一个文件夹下

8oomwypt  于 2022-11-02  发布在  Jenkins
关注(0)|答案(2)|浏览(354)

我有一个名为deployment的文件夹,在deployment下有两个同级文件夹:folder1folder2中的一个或多个。
我需要使用python脚本将folder 2及其子内容移动到folder 1,因此从:

.../deployment/folder1/...
              /folder1/...

.../deployment/folder1/...
              /folder1/folder2/...

我知道如何在Jenkins中手动复制文件夹和作业,我需要以编程方式将数十个文件夹复制到一个新文件夹中,例如使用Python脚本。
我试着用代码:

import jenkins
server = jenkins.Jenkins('https://comp.com/job/deployment', username='xxxx', password='******')
server.copy_job('folder2', 'folder1/folder2')

程式码会传回:Jenkins例外:复制[文件夹2到文件夹1/文件夹2]失败,源文件夹和目标文件夹必须相同
我怎么能做这个呢?

mpbci0fu

mpbci0fu1#

最简单的Python方法是使用shutil.move()
示例:

SourcePath = 'C:/Users/UserName/Downloads/Test1'
DestPath = 'C:/Users/UserName/Downloads/Test2'

shutil.move(SourcePath, DestPath)

这将获取SourcePath(包括其子路径),并将它们移动到目标路径。
在我的Jenkins中,如果我想在清理本地构建之前保存它们的状态,我就用这个来移动本地构建。
注意:Jenkins有一个python插件,它允许你直接从Jenkins调用python脚本(或者甚至在构建步骤中编写它们)。

niwlg2el

niwlg2el2#

这就是我所做的:
要求:

给定:

..../folder0/folder1
..../folder0/folder2/build_ear

需求:

....folder0/folder1/folder2/build_ear

代码:

import jenkins
server = jenkins.Jenkins(folder0, username='xxxx', password='yyyyy')
server.create_job('folder1/folder2', jenkins.EMPTY_FOLDER_XML)

conf = server.get_job_config('folder2/build_ear')
server.create_job(/folder1/folder2/build_ear, conf)

相关问题