V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jiangbingo
V2EX  ›  Python

Python 自动化测试项目在 jenkins 上运行的日志文件

  •  
  •   jiangbingo · 2017-05-05 13:39:28 +08:00 · 3839 次点击
    这是一个创建于 2790 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ···logger.py def log_settings(logging_path=None): import logging.config import logging.handlers if logging_path is None: logging_path = os.getenv('WORKSPACE', os.curdir)

    ···

    Python 自动化测试项目在本地环境运行会产生 Log 文件,但在 CI jenkins 上收集不到该 log 文件。 ··· 11:05:10 Output: /var/fpwork/jenkins_wk/workspace/IMP_GIT_ET_Regression/IMP/test/ET/log/output.xml 11:05:16 Log: /var/fpwork/jenkins_wk/workspace/IMP_GIT_ET_Regression/IMP/test/ET/log/log.html 11:05:16 Report: /var/fpwork/jenkins_wk/workspace/IMP_GIT_ET_Regression/IMP/test/ET/log/report.html 11:05:16 iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ] 11:05:20 Archiving artifacts 11:05:27 Robot results publisher started... 11:05:27 -Parsing output xml: 11:05:27 Done! 11:05:27 -Copying log files to build dir: 11:05:36 Done ···

    4 条回复    2017-05-08 22:40:43 +08:00
    jiangbingo
        1
    jiangbingo  
    OP
       2017-05-05 15:28:31 +08:00
    ```
    def log_settings(logging_path=None):
    import logging.config
    import logging.handlers
    if logging_path is None:
    logging_path = os.getenv('WORKSPACE', os.curdir)
    ```

    Python 自动化测试项目在本地环境运行会产生 Log 文件,但在 CI jenkins 上收集不到该 log 文件。

    ```
    11:05:10 Output: /var/fpwork/jenkins_wk/workspace/IMP_GIT_ET_Regression/IMP/test/ET/log/output.xml
    11:05:16 Log: /var/fpwork/jenkins_wk/workspace/IMP_GIT_ET_Regression/IMP/test/ET/log/log.html
    11:05:16 Report: /var/fpwork/jenkins_wk/workspace/IMP_GIT_ET_Regression/IMP/test/ET/log/report.html
    11:05:16 iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
    11:05:20 Archiving artifacts
    11:05:27 Robot results publisher started...
    11:05:27 -Parsing output xml:
    11:05:27 Done!
    11:05:27 -Copying log files to build dir:
    11:05:36 Done
    ```
    zhaoace
        2
    zhaoace  
       2017-05-05 15:29:09 +08:00
    老夫来提供些许帮助。。。

    TIP1: 提问的时候提供一些有效的 information 可以显得问题更可爱一点。参考一下 https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way


    TIP2: 既然跑成了,先看看有没有日志生成,然后再看看收集这一步有什么问题。

    所以:
    1. 先查查 Jenkins 这个 job 是在什么机器上 run 的,是 master 还是 slave 上 run 的。
    2. Remote 到 该机器, 看看这个 log 文件存在不存在。
    3. 如果不存在,分析为什么 remote 就无法产生 log 文件。
    一般是权限不对,偶尔也有产生了 log 文件又被冲掉(不同 build 同 workspace ; job 最后存在 clean 操作)的情况。
    4. 如果存在但是收集不到,检查你收集的设置是不是格式正确,有没有使用多 | 使用错 匹配符,相对路径层级对不对。
    5. 最重要的一点,我压箱底的检查宝典了:请确保拼写正确。。。
    chipmuck
        3
    chipmuck  
       2017-05-06 00:01:35 +08:00
    @zhaoace 第 5 点是最重要的。
    jiangbingo
        4
    jiangbingo  
    OP
       2017-05-08 22:40:43 +08:00
    @zhaoace 感谢~~~

    发现是 log 生成路径不在期望的地方。。。 于是更改了 jenkins 收集 log 的配置。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4165 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:30 · PVG 13:30 · LAX 21:30 · JFK 00:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.