当前位置: 首页 > wzjs >正文

最热网络游戏排行企业网站seo排名

最热网络游戏排行,企业网站seo排名,建筑工程信息价哪里可以查询,哪个网站有做彩平的材质贴图简介 通过 Python 脚本自动化获取 Jenkins 构建日志,可以实现日志分析、错误监控、报告生成等功能。本文档将介绍以下方法: Python-Jenkins 库:官方推荐的 Python 客户端库 日志分页与流式处理:应对大日志文件场景 准备工作 …

简介

通过 Python 脚本自动化获取 Jenkins 构建日志,可以实现日志分析、错误监控、报告生成等功能。本文档将介绍以下方法:

Python-Jenkins 库:官方推荐的 Python 客户端库

日志分页与流式处理:应对大日志文件场景

准备工作

安装依赖库

# 安装 python-jenkins 库(推荐)
pip install python-jenkins

获取 Jenkins 访问凭证
登录 Jenkins Web 界面
点击右上角用户名 > Configure
在 API Token 区域生成 Token(需记录保存)

使用 python-jenkins 库

初始化客户端连接

# 创建 Jenkins 客户端实例
import jenkins
j = jenkins.Jenkins(url='http://jenkins.demonlg.cn',username='your_username',password='your_api_token'  # 或直接使用 API Token
)
# 验证连接
user = j.get_whoami()
print(f"Connected to Jenkins as {user['fullName']}")
**获取构建日志**
```python
def get_build_log(job_name, build_number):try:log = j.get_build_console_output(job_name, build_number)return logexcept jenkins.NotFoundException:print(f"Build #{build_number} not found")except jenkins.JenkinsException as e:print(f"Error: {str(e)}")# 示例:获取 job "my-project" 的最近一次构建日志
last_build = j.get_job_info('my-project')['lastCompletedBuild']['number']
log = get_build_log('my-project', last_build)
print(log[:500])  # 打印前500字符

参数说明

job_name:任务名称(区分大小写)

build_number:构建号(整数)或 ‘lastBuild’ 关键字

支持代理配置:通过 j= Jenkins(…, proxies={‘http’: ‘http://proxy:port’})

使用 Requests 直接调用 API

基础请求示例

import requests
import jenkins
j = jenkins.Jenkins(url='http://jenkins.demonlg.cn',username='your_username',password='your_api_token'  # 或直接使用 API Token
)
def fetch_log(job_name, build_number):url = f"http://jenkins.example.com/job/{job_name}/{build_number}/consoleText"response = j.jenkins_open(requests.Request('GET', url,headers=DEFAULT_HEADERS)))if response.status_code == 200:return response.textelse:raise Exception(f"Request failed: {response.status_code}")# 示例调用
log = fetch_log('android-ci', 42)

高级用法

  • 过滤特定时间段的构建
import datetimedef find_failed_builds(job_name, days=7):builds = j.get_job_info(job_name)['builds']cutoff = datetime.datetime.now() - datetime.timedelta(days=days)results = []for build in builds:build_info = j.get_build_info(job_name, build['number'])timestamp = build_info['timestamp'] / 1000  # 转换为秒if (datetime.datetime.fromtimestamp(timestamp) > cutoff andbuild_info['result'] == 'FAILURE'):results.append(build['number'])return results# 获取最近7天失败的构建号
failed_builds = find_failed_builds('backend-tests')
print(f"Failed builds: {failed_builds}")
  • 日志实时监控
from time import sleep
def monitor_running_build(job_name):while True:build_info = j.get_job_info(job_name)['lastBuild']if build_info['building']:log = j.get_build_console_output(job_name, build_info['number'])print(log.splitlines()[-10:])  # 显示最后10行sleep(10)  # 每10秒检查一次else:print("Build completed")break# 监控正在运行的构建
monitor_running_build('mobile-deploy')
  • 获取特定阶段(stage)OR特定指令(step)日志
    源生接口只能获取整个流水线的日志,如果想获取stage的日志需要自行实现。那如何实现呢?
    有2种方法 pipeline接口or BlueOcean接口。

错误处理建议

  • 常见异常处理
try:log = j.get_build_console_output('invalid-job', 999)
except jenkins.NotFoundException:print("Job or build does not exist")
except jenkins.JenkinsException as e:print(f"Jenkins API error: {str(e)}")
except requests.exceptions.ConnectionError:print("Network connection failed")
  • 重试机制
from tenacity import retry, stop_after_attempt, wait_exponential@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, max=10))
def safe_fetch_log(job_name, build_number):return fetch_log(job_name, build_number)

安全注意事项

凭证存储:避免硬编码凭证,推荐使用环境变量:

import os
username = os.environ.get('JENKINS_USER')
token = os.environ.get('JENKINS_TOKEN')

未更新完后续继续更新。。。

http://www.dtcms.com/wzjs/469994.html

相关文章:

  • 网站建设捌金手指花总二九seo优化交流
  • 响水企业做网站多少钱推广哪个app最挣钱
  • 怎么做win10原版系统下载网站阿里数据
  • 做服装哪个网站图片多哪家建设公司网站
  • 做网站备案需要什么特殊材料长沙seo外包服务
  • 建立网站一般会遇到什么问题营销的方法手段有哪些
  • 厦门seo排名优化公司优化关键词排名外包
  • 深圳网站建设的黄页引流推广
  • 广东建设企业网站哪家好搜索指数在线查询
  • 服务关系型网站怎么做百度百度地图
  • 负责公司网站建设的岗位叫什么手机上怎么制作网页
  • 怎样优化网站排名靠前网站测试报告
  • 防录屏网站怎么做谷歌排名网站优化
  • 日照高端网站建设公司产品推广文案
  • 外贸企业网站模版旅行网站排名前十名
  • 网站怎样做能排名靠前潍坊网站关键词推广
  • 关于做网站的笑话电商培训
  • 哪个网站做电子请帖好营销推广公司案例
  • 河东做网站网络游戏推广怎么做
  • 文字网站居中东莞外贸优化公司
  • 全国特种作业人员证查询seo推广的网站和平台有哪些
  • 网站建设英文翻译网站推广计划方法
  • 网易博客 wordpress宁波网络推广seo软件
  • 做网站编辑累吗整合营销传播的方法包括
  • 南海大良网站建设螺蛳粉营销策划方案
  • 网站后台如何上传附件做电商需要学哪些基础
  • 甘肃网站建设项目网络营销的方法是什么
  • 营销型网站建设 深圳信科产品推广计划怎么写
  • 网站建设的网络公短视频seo营销系统
  • 辅助软件定制站内优化怎么做