我们无法从 Artifactory 下载到 Windows 代理上,
在我们看来,这是 Windows 代理上的临时下载文件夹的权限问题,即 C:\Windows\Tempc15663966815098879... 在 C:\Windows\Temp 中创建了一个文件夹,但该文件夹不可读取或写入。
它一直在工作,我们认为当我们最近更新 Jenkins 时它可能已经停止了。
代理作为系统下的服务运行。
我们有版本
Jenkins: 2.414.2
Jenkins Artifactory Plugin: 3.18.11
win10 agent.
Agent version 3131.vf2b_b_798b_ce99
这里有日志
Jenkins Artifactory Plugin version: 3.18.11
Searching for artifacts...
Found 1 artifacts.
Beginning to resolve Build Info published dependencies.
Downloading 'stz-software-release-local/Security Manager Services/0.2.0.350-65/deployment.zip'...
[Thread downloader_1] downloading C:\Windows\TEMP\14315663966815098879\Security Manager Services/0.2.0.350-65/deployment.zip1 as part of file stz-software-release-local/Security Manager Services/0.2.0.350-65/deployment.zip threw an exception: java.io.IOException: Could not create nor write to file: C:\Windows\Temp\14315663966815098879\Security Manager Services\0.2.0.350-65\deployment.zip1
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.services.DownloadToFile.saveInputStreamToFile(DownloadToFile.java:34)
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.services.DownloadToFile.setResponse(DownloadToFile.java:40)
at org.jfrog.build.extractor.clientConfiguration.client.JFrogService.processResponse(JFrogService.java:143)
at org.jfrog.build.extractor.clientConfiguration.client.JFrogService.execute(JFrogService.java:123)
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.ArtifactoryManager.downloadToFile(ArtifactoryManager.java:128)
at org.jfrog.build.extractor.clientConfiguration.util.DependenciesDownloaderHelper.lambda$doConcurrentDownload$0(DependenciesDownloaderHelper.java:277)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.io.FileNotFoundException: C:\Windows\TEMP\14315663966815098879\Security Manager Services\0.2.0.350-65\deployment.zip1 (The system cannot find the path specified)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.services.DownloadToFile.saveInputStreamToFile(DownloadToFile.java:30)
... 6 more
[Thread downloader_0] downloading C:\Windows\TEMP\14315663966815098879\Security Manager Services/0.2.0.350-65/deployment.zip0 as part of file stz-software-release-local/Security Manager Services/0.2.0.350-65/deployment.zip threw an exception: java.io.IOException: Could not create nor write to file: C:\Windows\Temp\14315663966815098879\Security Manager Services\0.2.0.350-65\deployment.zip0
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.services.DownloadToFile.saveInputStreamToFile(DownloadToFile.java:34)
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.services.DownloadToFile.setResponse(DownloadToFile.java:40)
at org.jfrog.build.extractor.clientConfiguration.client.JFrogService.processResponse(JFrogService.java:143)
at org.jfrog.build.extractor.clientConfiguration.client.JFrogService.execute(JFrogService.java:123)
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.ArtifactoryManager.downloadToFile(ArtifactoryManager.java:128)
at org.jfrog.build.extractor.clientConfiguration.util.DependenciesDownloaderHelper.lambda$doConcurrentDownload$0(DependenciesDownloaderHelper.java:277)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.io.FileNotFoundException: C:\Windows\TEMP\14315663966815098879\Security Manager Services\0.2.0.350-65\deployment.zip0 (The system cannot find the path specified)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.services.DownloadToFile.saveInputStreamToFile(DownloadToFile.java:30)
... 6 more
[Thread downloader_2] downloading C:\Windows\TEMP\14315663966815098879\Security Manager Services/0.2.0.350-65/deployment.zip2 as part of file stz-software-release-local/Security Manager Services/0.2.0.350-65/deployment.zip threw an exception: java.io.IOException: Could not create nor write to file: C:\Windows\Temp\14315663966815098879\Security Manager Services\0.2.0.350-65\deployment.zip2
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.services.DownloadToFile.saveInputStreamToFile(DownloadToFile.java:34)
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.services.DownloadToFile.setResponse(DownloadToFile.java:40)
at org.jfrog.build.extractor.clientConfiguration.client.JFrogService.processResponse(JFrogService.java:143)
at org.jfrog.build.extractor.clientConfiguration.client.JFrogService.execute(JFrogService.java:123)
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.ArtifactoryManager.downloadToFile(ArtifactoryManager.java:128)
at org.jfrog.build.extractor.clientConfiguration.util.DependenciesDownloaderHelper.lambda$doConcurrentDownload$0(DependenciesDownloaderHelper.java:277)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.io.FileNotFoundException: C:\Windows\TEMP\14315663966815098879\Security Manager Services\0.2.0.350-65\deployment.zip2 (The system cannot find the path specified)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187)
at org.jfrog.build.extractor.clientConfiguration.client.artifactory.services.DownloadToFile.saveInputStreamToFile(DownloadToFile.java:30)
... 6 more
FATAL: java.io.IOException: Unknown I/O error listing contents of directory: C:\Windows\TEMP\14315663966815098879
java.io.IOException: Unknown I/O error listing contents of directory: C:\Windows\TEMP\14315663966815098879
at org.apache.commons.io.FileUtils.listFiles(FileUtils.java:2190)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:333)
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1192)
at org.jfrog.build.extractor.clientConfiguration.util.DependenciesDownloaderHelper.downloadFileConcurrently(DependenciesDownloaderHelper.java:256)
at org.jfrog.build.extractor.clientConfiguration.util.DependenciesDownloaderHelper.downloadArtifact(DependenciesDownloaderHelper.java:209)
Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from UKSTZ-S-NUC002.ad.iar.com/192.168.1.72:60174
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)
at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
at hudson.remoting.Channel.call(Channel.java:1000)
at hudson.FilePath.act(FilePath.java:1192)
at hudson.FilePath.act(FilePath.java:1181)
at org.jfrog.hudson.generic.ArtifactoryGenericConfigurator.setUp(ArtifactoryGenericConfigurator.java:387)
at hudson.model.Build$BuildExecution.doRun(Build.java:158)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:526)
at hudson.model.Run.execute(Run.java:1900)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
at hudson.model.ResourceController.execute(ResourceController.java:101)
at hudson.model.Executor.run(Executor.java:442)
Caused: java.io.IOException
at org.jfrog.build.extractor.clientConfiguration.util.DependenciesDownloaderHelper.downloadArtifact(DependenciesDownloaderHelper.java:222)
at org.jfrog.build.extractor.clientConfiguration.util.DependenciesDownloaderHelper.downloadArtifact(DependenciesDownloaderHelper.java:184)
at org.jfrog.build.extractor.clientConfiguration.util.DependenciesDownloaderHelper.downloadDependencies(DependenciesDownloaderHelper.java:123)
at org.jfrog.build.extractor.clientConfiguration.util.DependenciesDownloaderHelper.downloadDependencies(DependenciesDownloaderHelper.java:83)
at org.jfrog.build.extractor.clientConfiguration.util.spec.SpecsHelper.downloadArtifactsBySpec(SpecsHelper.java:142)
at org.jfrog.hudson.generic.FilesResolverCallable.invoke(FilesResolverCallable.java:51)
at org.jfrog.hudson.generic.FilesResolverCallable.invoke(FilesResolverCallable.java:21)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3578)
at hudson.remoting.UserRequest.perform(UserRequest.java:211)
at hudson.remoting.UserRequest.perform(UserRequest.java:54)
at hudson.remoting.Request$2.run(Request.java:377)
at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:125)
at java.base/java.lang.Thread.run(Thread.java:829)
Finished: FAILURE
为了隔离问题,我们做了一个非常简单的自由式项目。它所做的只是从 Artifactory 下载文件并在 Powershell 中回显“hello world”。
文件应该已下载并位于工作区中。
我们还尝试将代理的临时文件夹重新定位到具有完全可访问性的备用目录。然而,这并没有带来任何改变。
该异常似乎与“rtdownload”函数生成的文件夹关联的权限有关。它似乎具有非常有限的权限,仅限于具有完全控制权的“machinename$”主体。
代理作为系统下的服务运行。
如有任何建议,请采纳。
我会做两件事。 首先,您的路径(安全管理器服务)中有空格,我会将其更改为 Security_MANager_Services,因为在尝试查找路径时空格往往会产生问题。
如果第一个建议不起作用,我会在开源项目中提出这个问题https://github.com/jfrog/jenkins-artifactory-plugin/issues
您的 jenkins 可能作为本地系统帐户运行 - 更新为具有管理员权限的帐户。