我正在使用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));
}
});
这适用于上载,但是伪像被缓存了,如果不去联系并在受影响的工件上运行重建元数据,我就无法从卷曲中获取伪像。
我可以以编程方式使缓存无效吗?
要直接回答您的问题,应该可以使用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,以获取可能发生的其他问题的答案,并在此处询问是否看不到。