在我的Jenkins脚本化管道中,我试图使用cifsPublisher
将文件复制到远程Windows共享。如here所述,我应该使用myPrj/deploy/**/*
作为sourceFiles
模式,但不要复制我希望复制的文件。
这是我的Jenkinsfile步骤:
stage('Save WAR'){
//
sh 'ls -laR ./myPrj/deploy/'
//
cifsPublisher(publishers: [[
configName: 'myConfig',
transfers: [[cleanRemote: false,
excludes: '',
flatten: false,
makeEmptyDirs: true,
noDefaultExcludes: false,
patternSeparator: '',
remoteDirectory: 'Server',
remoteDirectorySDF: false,
removePrefix: '',
sourceFiles: './myPrj/deploy/**/*' ]],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: true]])
}
这是详细的输出:
+ ls -laR ./myPrj/deploy/
./myPrj/deploy/:
totale 0
drwxr-xr-x 3 jenkins jenkins 41 ago 3 11:55 .
drwxr-xr-x 11 jenkins jenkins 299 ago 3 11:56 ..
drwxr-xr-x 2 jenkins jenkins 65 ago 3 11:57 myPrj-01.01.01-201808031155
./myPrj/deploy/myPrj-01.01.01-201808031155:
totale 443392
drwxr-xr-x 2 jenkins jenkins 65 ago 3 11:57 .
drwxr-xr-x 3 jenkins jenkins 41 ago 3 11:55 ..
-rw-r--r-- 1 jenkins jenkins 269154173 ago 3 11:57 Dist.zip
-rw-r--r-- 1 jenkins jenkins 168 ago 3 11:55 INFO.txt
-rw-r--r-- 1 jenkins jenkins 184870342 ago 3 11:57 myPrj##01.01.01.war
[Pipeline] cifsPublisher
CIFS: Connecting from host [jenkins]
CIFS: Connecting with configuration [myConfig] ...
CIFS: Removing WINS from name resolution
CIFS: Setting response timeout [30.000]
CIFS: Setting socket timeout [35.000]
CIFS: Setting buffer size to: [4.096] Bytes
CIFS: copy [smb://WinServer/SHARE/Jenkins/Server/.com.apple.timemachine.supported]
CIFS: copy [smb://WinServer/SHARE//Jenkins/Server/Jenkinsfile]
CIFS: copy [smb://WinServer/SHARE/Jenkins/Server/build.gradle]
CIFS: copy [smb://WinServer/SHARE/Jenkins/Server/gradlew]
CIFS: copy [smb://WinServer/SHARE/Jenkins/Server/gradlew.bat]
CIFS: copy [smb://WinServer/SHARE/Jenkins/Server/sonar-project.properties]
CIFS: copy [smb://WinServer/SHARE/Jenkins/Server/vstop.png]
CIFS: Disconnecting configuration [myConfig] ...
CIFS: Transferred 7 file(s)
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
复制的文件来自工作区根目录。
我在哪里做错了?
答案 0 :(得分:1)
我不知道这是否是一个错误,但是我找到了使用dir
并将patternSeparator
设置为/
的解决方法
stage('Save WAR'){
dir('myPrj/deploy/') {
cifsPublisher(publishers: [[
configName: 'myConfig',
transfers: [[cleanRemote: false,
excludes: '',
flatten: false,
makeEmptyDirs: true,
noDefaultExcludes: false,
patternSeparator: '/',
remoteDirectory: "Server/",
remoteDirectorySDF: false,
removePrefix: '',
sourceFiles: '**/*' ]],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: true]]
)
}
}