使用Artifactory防止覆盖部署

Dor*_*ori 7 artifactory

我已经设置了Artifactory(4.1.2)的实例,我用它来存储java文物.我使用如下配置的gradle插件将工件推送到实例

artifactory {
    contextUrl = 'http://example.com/artifactory'
    publish {
        repository {
            // The Artifactory repository key to publish to
            repoKey = 'libs-release-local'

            username = artifactory_username
            password = artifactory_password
        }
        defaults {
            publications('releaseJar')
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够防止按版本覆盖已部署的人工制品.这似乎是一个共同的要求,文档

您可以通过不授予"删除"权限来阻止用户或组覆盖已部署的版本或唯一快照.可以始终覆盖非唯一快照(前提是已授予"部署"权限).

但是,我已经设置了一个 具有相关权限的deploy用户组.1 | deployers1 | CanDeploy

CanDeploy权限仅具有Deploy/Cachedeployers组的权限.

然而!我可以使用将覆盖的工件覆盖到我心中的内容gradle artifactoryPublish.

任何建议都会感激不尽:)

编辑:自问这个问题后,功能已开始按预期工作.这非常奇怪,因为我根本没有更改Artifactory设置,但现在403当我尝试上传与已部署的版本号相同的工件时返回.我只能假设在访问权限的缓存方面存在一些奇怪的东西,或者某些东西导致我通过Web UI进行的更改在一两天内无效 - 令人不安但它目前正在工作.在我确保其工作的同时,会暂时提出问题!

Fre*_*mon 3

检查权限设置的最简单方法是在浏览器 UI 中的“有效权限”选项卡中。选择“releaseJar”存储库时,如果您看到“deploy”用户选中了“删除”权限,那么您可能有另一个权限目标向该用户授予删除权限。您可以在“用户”页面查看单个用户使用的权限目标列表。希望这可以帮助。