我正在使用 Jenkins 和 tomcat。我使用 java 类中的 jenkins cli 来创建作业并构建。 我想删除存档的工件。如何实现这个目标?
另一个问题是,我们可以在 jenkins 中为构建指定一个特定名称吗?(例如,我想要像 (buildNumber + someName) 这样的构建名称。如何实现这一目标?
[JENKINS_HOME]/jobs/[job_name]/builds/[$BUILD_ID]/archive/
,转到那里并将其删除。不过,它不会从构建页面删除指向工件的链接。 (如果您不确定 JENKINS_HOME 在哪里,请转到
http://[jenkins_server]/configure
,您会在页面顶部附近看到Home 目录)。 要自动更改构建的显示名称,请尝试
构建名称设置器插件。
要通过 CLI 更改显示名称:
java -jar jenkins-cli.jar -s http://[server]/ set-build-display-name [job_name] [build#] [new_name]
/脚本控制台”运行以下 groovy 脚本。
def project = Jenkins.get().getItemByFullName('<your-project-id>')
def jobs = project.getAllJobs()
def total_size = 0
jobs.each{ job ->
def builds = job.getBuilds()
builds.each{ build ->
def artifacts = build.artifacts
artifacts.each{ artifact ->
total_size += artifact.getFileSize()
println "$artifact, ${artifact.getFileSize()}"
}
build.deleteArtifacts()
}
}
println "Total size: $total_size"
感谢 @perja12 创建脚本。
def project = Jenkins.get().getItemByFullName('<your-project-id>')
def jobs = project.getAllJobs()
def job = job[0]
def build = job.getBuildByNumber(42) // the number of your build
def manager = build.getArtifactManager()
def file = manager.root().child('the_file_you_want_to_del.ete')
println file.toURI()
// uncomment the next line if the above has returned the correct URI
//Util.deleteFile(new File(file.toURI()))
改编自