zadig配置自定义镜像,实现jenkins项目复制,并修改Pipeline内容

7 篇文章 0 订阅

需求:
我需要使用zadig一键实现,新项目自动化创建jenkins的pipeline内容.
问: 直接登录jenkins,然后复制不是也很快吗?
答:但是还是需要改很多pipeline的内容,直接使用脚本一键实现,因为前面还关联了很多任务,可以实现一键在k8s上创建所有的新项目全流程

python3代码:

import jenkins
import sys
from loguru import logger
logger.add("create_jenkins_job.log", rotation="100 MB")

server = jenkins.Jenkins('http://192.168.10.100:30002/', username='luozixu', password='sadmin')
def jenkins_wexml(sre_name_xiangmu):
    try:
      daochu_job = "k8s" + "-" + sre_name_xiangmu
      xml_sdf = server.get_job_config(daochu_job)
      with open('default.xml', 'w', encoding='utf-8') as f:
         f.write(xml_sdf)
      logger.debug("{}项目导出成功".format(daochu_job))
    except:
      daochu_job = "k8s" + "_" + sre_name_xiangmu
      xml_sdf = server.get_job_config(daochu_job)
      with open('default.xml', 'w', encoding='utf-8') as f:
         f.write(xml_sdf)
      logger.debug("{}项目导出成功".format(daochu_job))


def alter(file,old_str,new_str):
    file_data = ""
    with open(file, "r", encoding="utf-8") as f:
        for line in f:
            if old_str in line:
                line = line.replace(old_str, new_str)
            file_data += line
    with open(file, "w", encoding="utf-8") as f:
        f.write(file_data)
    logger.debug("将{}----替换为---{}".format(old_str,new_str))

def  create_job(des_name_xinamgu):
    with open("default.xml",encoding='utf-8') as f:
        sd = f.read()
        c = sd.rstrip()
        xin_name_job = "k8s" + "_" + des_name_xinamgu
        server.create_job(xin_name_job, c)

    logger.debug("jenkins创建项目--{}--成功,请查看".format(xin_name_job))


if __name__ == '__main__':
    old_str = sys.argv[1]
    new_str = sys.argv[2]
    #导出jenkins模板
    jenkins_wexml(old_str)
    #修改文件内容
    alter("default.xml",old_str,new_str)
    #创建项目
    create_job(new_str)


执行结果;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打包新的镜像,推送到镜像仓库,zadig配置这个镜像地址。
在这里插入图片描述
zadig工作流程配置自动化生成:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

下班。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值