harbor镜像删除python脚本

本文介绍了一个背景,即如何通过Python脚本来定时删除Harbor私有镜像仓库中过多的镜像,以避免服务器磁盘空间不足。脚本功能包括:当项目下镜像版本超过3个时,仅保留最新3个版本,其余删除,并将操作记录到日志文件。实现策略是先找出镜像数量超限的仓库,然后按push时间删除旧版本。
摘要由CSDN通过智能技术生成

背景:私有镜像仓库harbor,通常随着构建的镜像增多,提交到仓库上的镜像也逐渐增多,而harbor所在服务器磁盘空间有限,所以需要定时删除harbor上面的镜像。否则会因空间不足导致提交镜像出现问题,中断CICD过程。
功能:如某个项目下的镜像的版本数量超过3个以上,则只保留最近的3个版本,其余的全部删掉,记录写到日志文件
思路:先找出项目下仓库不为0的项目,以仓库下镜像不0且数量大于3的仓库,再使用push时间排序取出最近push时间3之后的记录删除掉
执行日志图:
在这里插入图片描述

# -*- coding:utf-8 -*-
'''
@Author: XGL
@File: tet.py
'''
import requests
from requests.auth import HTTPBasicAuth
import logging
from time import sleep

# 定义日志格式
logging.basicConfig(filename='harbor_image_delete_log.txt',
                    format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S',
                    level=20)


class Harborimagedel:
    def __init__(self, harbor_url, user, password):
        """
        :param harbor_url: harbor链接
        :param user:  用户名
        :param password:  密码
        """
        self.harbor_url = harbor_url
        self.user = user
        self.password = password
        self.harbor_api_url = self.harbor_url + '/api/v2.0'
        self.auth = HTTPBasicAuth(self.user, self.password)
        self.projectname 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值