Kar*_*hik 82 accurev jenkins jenkins-plugins
如何在Jenkins中清理工作区?我AccuRev
用作版本控制工具.
我freestyle
在Jenkins 创建了项目.
小智 82
有一种方法可以清理Jenkins中的工作区.您可以在构建之前或构建之后清理工作区.
首先,安装Workspace Cleanup Plugin.
要在构建之前清理工作区:在" 构建环境"下,选中" 构建开始前删除工作区 "框.
在构建后清理工作区:在标题后构建操作下,从添加后构建操作下拉菜单中选择删除工作区.
rog*_*ack 49
如果你想手动清理它,对我来说我的jenkins版本(似乎不需要安装额外的插件,但谁知道),左栏上有一个"工作区"链接,点击你的项目,然后在"工作区"上,然后在左侧列的下方显示"擦除当前工作区"链接.
小智 28
除了上述解决方案之外,还有一种更"常见"的方式 - 直接从Linux机器中删除最大的空间使用者.您可以按照以下步骤操作:
使用ls -lart列出隐藏文件夹,通常jenkin安装放在.jenkins /文件夹中
Run Code Online (Sandbox Code Playgroud)[xxxxx ~]$ ls -lart drwxrwxr-x 12 xxxx 4096 Feb 8 02:08 .jenkins/
Use df -h
以高级别显示磁盘空间
du -sh ./*/
列出当前路径中每个子文件夹的总内存.
du -a /etc/ | sort -n -r | head -n 10
将列出在/ etc /中占用磁盘空间的前10个目录
通常./job/文件夹或./workspace/文件夹可以是最大的文件夹.请进入内部并根据需要删除(不要删除整个文件夹).
rm -rf theFolderToDelete
war*_*esh 16
在詹金斯文件中添加
cleanWs()
Run Code Online (Sandbox Code Playgroud)
构建完成后,这将删除工作空间
Upe*_*pen 13
您可以在Manage Jenkins → Scripts Console中运行以下脚本,以便一次性删除所有作业的工作区.我们这样做是为了清理文件系统上的空间.
import hudson.model.*
// For each project
for(item in Hudson.instance.items) {
// check that job is not building
if(!item.isBuilding()) {
println("Wiping out workspace of job "+item.name)
item.doDoWipeOutWorkspace()
}
else {
println("Skipping job "+item.name+", currently building")
}
}
Run Code Online (Sandbox Code Playgroud)
重要信息:只要给定的Jenkins作业当前不在运行,就可以删除该工作区!
注意:我假设您$JENKINS_HOME
已设置为默认值:/var/jenkins_home
。
rm -rf /var/jenkins_home/workspaces/<workspace>
rm -rf /var/jenkins_home/workspaces/*
此人使用grep创建白名单:
ls /var/jenkins_home/workspace \
| grep -v -E '(job-to-skip|another-job-to-skip)$' \
| xargs -I {} rm -rf /var/jenkins_home/workspace/{}
Run Code Online (Sandbox Code Playgroud)
这一个使用du和sort来按最大到最小的顺序列出工作区。然后,它使用head抓住前10个:
du -d 1 /var/jenkins_home/workspace \
| sort -n -r \
| head -n 10 \
| xargs -I {} rm -rf /var/jenkins_home/workspace/{}
Run Code Online (Sandbox Code Playgroud)
如果您只想删除一个目录(或文件),您可以使用 Groovy 和 Manage Jenkins \xe2\x86\x92 Scripts Console 运行一个脚本来删除它。
\n\n例如,您可以使用以下命令查看文件:
\n\ndh = new File('./bitnami/jenkins/jenkins_home/workspace/jobname/folder')\ndh.eachFile {\n println(it)\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n然后,当您有要删除的文件夹时dh
,您可以简单地附加下一个代码:
dh.deleteDir()\n
Run Code Online (Sandbox Code Playgroud)\n\n并且它将被删除。
\n\n注意:示例中显示的路径适用于 Bitnami Jenkins 安装,您的路径可能不同。
\n 归档时间: |
|
查看次数: |
157039 次 |
最近记录: |