下面是一个使用Artifactory推广构建保留的代码示例:
// 引入Artifactory插件
plugins {
id 'com.jfrog.artifactory' version '4.22.1'
}
// 定义Artifactory服务器配置
artifactory {
contextUrl = 'http://localhost:8081/artifactory'
publish {
repository {
repoKey = 'libs-release-local'
username = 'admin'
password = 'password'
}
}
resolve {
repository {
repoKey = 'libs-release'
username = 'admin'
password = 'password'
}
}
}
// 定义构建保留任务
task promoteBuildRetention {
doLast {
// 获取Artifactory客户端
def artifactoryClient = Artifactory.newClient(url: artifactory.contextUrl, username: artifactory.publish.repository.username, password: artifactory.publish.repository.password)
// 获取构建信息
def buildInfo = artifactoryClient.buildInfo()
// 设置构建保留
buildInfo.retention maxBuilds: 10, deleteBuildArtifacts: true, buildNumbersNotToDelete: ["1", "2", "3"]
// 上传构建信息到Artifactory
artifactoryClient.publishBuildInfo(buildInfo)
}
}
上述代码示例使用了Artifactory的Gradle插件,首先,通过引入插件,我们可以配置Artifactory服务器的URL、发布库和解析库的凭据。然后,我们定义了一个promoteBuildRetention
任务,它使用Artifactory客户端来获取构建信息,然后设置构建保留策略,最后将构建信息上传到Artifactory服务器。
在buildInfo.retention
方法中,我们可以指定保留的最大构建数量、是否删除构建产物以及不删除的构建编号列表。
你可以根据自己的需求修改这个示例来适应你的项目。