从nexus下载ARTEFACT失败,因为已缓存数据

问题描述 投票:0回答:1

我正在使用curl来发布到Maven:

 const curlOptions = [
                '--silent',
                '--output', '/dev/stderr',
                '--write-out', '"%{http_code}"',
                '--upload-file', fileLocation,
                '--noproxy', options.noproxy ? options.noproxy : '127.0.0.1',
                '--fail'
            ];

 const curlCmd = ['curl', curlOptions.join(' '), targetUri].join(' ');

 const childProcess = exec(curlCmd, execOptions, function (error) {
                if (error) {
                    console.log(chalk.red(error));
                }
            });

这适用于上载,但是伪像被缓存了,如果不去联系并在受影响的工件上运行重建元数据,我就无法从卷曲中获取伪像。

我可以以编程方式使缓存无效吗?

maven nexus
1个回答
0
投票

要直接回答您的问题,应该可以使用REST API和“ / beta / repositories / {repositoryName} / invalidate-cache”端点来使更高版本的NXRM3中的缓存无效。也应该可以执行相同的操作并运行计划的任务(重建元数据; / v1 / tasks / {id} / run端点),尽管这似乎不太理想,因为通常用于修复。

您可以在NXRM3 documentation中的REST API上看到更多信息,尽管其中有些目的是通过使用应用程序中的Swagger UI进行自我记录。请注意,在回答此问题时,只有具有nx-admin特权的用户才能访问Swagger UI(尽管具有适当权限的人可以使用端点)。您可以在系统-> API下的管理部分中找到Swagger UI。

话虽如此,我认为可能还有其他情况。我认为没有必要每次都使缓存无效。但是,我不想离开这个问题。我鼓励您查看community.sonatype.com,以获取可能发生的其他问题的答案,并在此处询问是否看不到。

© www.soinside.com 2019 - 2024. All rights reserved.