问题标签 [django-jenkins]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2672 浏览

django - 了解 jenkins 和 django-jenkins 的区别

我的问题比较主观,请版主不要关闭它,因为我想知道有经验的书呆子的意见。

我是部署领域的新手,并且正在jenkins上做一些 RTFM ,来自 python/django 背景我搜索 github 以找到django-jenkins

CI 的整个想法是有一个连续的构建过程,这样如果构建失败,您可以恢复到最后一个阶段。

据我所知,jenkins 在服务器上运行,如果所有测试都通过,当代码被推送到 github 或其他一些 repo 时,它会运行测试和部署。它可能通过轮询或 cron 作业与 repo 对话。

而当我在文档中查看 django-jenkins 时提到了

这意味着,我们可以将命令添加到设置文件中,在本地进行测试,然后进行部署。(如果我错了请纠正我)

那么它有什么区别呢?django-jenkins 是否不需要使用 jenkins 进行 CI 的附加服务器?

请让我知道,并清除我哪里错了。

0 投票
2 回答
1432 浏览

python - 将代码推送到 Jenkins 时随机测试失败

我之前也问过这个,但对答案不满意。

我用什么:

  • 在 Django/python 网站上工作。
  • 在本地在 python 虚拟环境上完成开发。
  • 使用 GIT 作为我的 SCM
  • 为 GIT 的开发人员和生产分支部署了单独的虚拟服务器
  • 使用 Jenkins CI 进行持续集成。为 Jenkins 部署单独的虚拟服务器

在职的:

  • 我有网站的单元测试、冒烟测试和集成测试。Jenkins 已经设置好,每当代码从我的本地 git 分支推送到 git repo 上的开发人员和生产分支时,都会在 Jenkins 中触发构建。

问题:

  • 当我执行“python manage.py test”时,我的测试在本地通过
  • 当代码被推送到其他分支(开发人员和生产)时,Jenkins 中的随机测试(主要是单元测试)失败。
  • 测试失败后,如果我通过按 Jenkins 中的“立即构建”按钮手动进行构建,测试通常会通过并且构建成功。
  • 有时,当没有对代码进行任何更改并且代码仍被推送到这些分支时,Jenkins 中的测试会随机失败。

一些常见错误:

  • 断言错误:302!= 200
  • TypeError:“NoneType”对象不可下标
  • IndexError:列表索引超出范围
  • AssertionError: datetime.datetime(2012, 12, 5, 0, 0, 27, 218397) != datetime.datetime(2012, 12, 5, 0, 0, 27, 239884)
  • AssertionError:响应重定向到“x”预期“y”

迄今为止的故障排除:

  • 在我的机器和虚拟服务器上本地运行所有测试。他们运行良好。
  • 在本地和虚拟服务器上运行单个失败的测试。他们运行良好。
  • 试图重新创建失败的条件,但截至目前,测试正在通过。

我看到的唯一问题是,每当代码被推送到开发人员和生产分支时,随机测试失败就会出现。一些测试反复失败。

谁能告诉我我还能做些什么来解决这个问题。我试着用谷歌搜索这个问题,但徒劳无功。我知道 xunitpatterns 网站对不稳定的测试行为有一些很好的见解,但它没有帮助,因为我在那里尝试了大部分东西。

0 投票
1 回答
3636 浏览

python - 如何从覆盖率报告中排除(目录或文件)

我正在使用 django-jenkins 并试图让 jenkins 在覆盖率报告中忽略我的应用程序中的文件夹。

我从https://github.com/kmmbvnr/django-jenkins/blob/master/django_jenkins/tasks/with_coverage.py找到了选项 --coverage-exclude ,但似乎无法让它工作。

到目前为止,我已经尝试过:

以及各种路径名组合

并且

谁能告诉我如何使用它?

0 投票
0 回答
579 浏览

python - 詹金斯和 django:django-jenkins 运行中的 popen 时“无法分配内存”

我正在使用 jenkins 运行我的 django 测试,使用django-jenkins

几天后(不更改配置),当我运行 django-jenkins 时出现错误

即使我的测试通过了。

完整的错误(来自詹金斯)在这里https://gist.github.com/apelliciari/5106439

在我的测试中,我有一些带有 Selenium 的 LiveServerTestCase。

搜索错误,我发现了这些

Python subprocess.Popen “OSError:[Errno 12] 无法分配内存”

http://bramp.net/blog/2010/05/python-close_fds-issue/

希望它们有用,不幸的是,我对 python/unix 的了解不是很深,我不知道如何修复它。

有没有办法运行测试避免分叉?我不在乎他们是否需要更多时间。

0 投票
2 回答
1047 浏览

django - 如何在使用 pip 安装需求时加快 jenkins 构建过程

我将 Jenkins CI 用于我的 django 项目。对于 Django-Jenkins 集成,我使用的是 django-jenkins 应用程序。在 Jenkins 的构建步骤中,我创建了一个全新的 virtualenv 并使用需求文件为每个构建安装所有依赖项。但是,这会使构建变得非常缓慢,因为必须从 PyPI 镜像下载所有依赖项的新副本,即使自上次构建以来依赖项没有任何变化。PIP_DOWNLOAD_CACHE所以我开始通过设置环境变量使用内置的本地缓存来pip 。但是整个构建过程仍然非常缓慢,需要 10 多分钟。有什么办法可以加快整个过程吗?也许通过缓存已编译的依赖项或其他方式?

0 投票
2 回答
5728 浏览

jenkins - 如何在所有 Jenkins 作业中更改 Git URL

我在 Jenkins 有 100 多个工作,自从我们更改了 git 服务器后,我必须在每个工作中更改一个 Git URL。我必须遍历每个作业并更改 Git URL。谁能帮我写一个 groovy 脚本?

我能够遍历每个作业,但无法获取或更改 Git URL:

我非常需要帮助,请有人帮助我。

0 投票
0 回答
107 浏览

testing - django-jenkins 错误:runTest (django_jenkins.tasks.lettuce_tests.LettuceTestCase)

去年我一直在使用 lettuce 进行接口测试,最近我一直在尝试将它与django-jenkins一起使用以进行持续集成。

但是,我在仅执行我的 Django 项目的 app 目录中的生菜测试用例时遇到问题。

当我运行时,我执行python manage.py jenkins了生菜测试,并在报告文件夹中创建了带有执行详细信息的 lettuce.xml 文件。尽管我遇到了两个错误,但我不知道为什么(请参阅帖子末尾的错误)。

我一直在尝试用谷歌搜索,看看其他人是否有同样的问题,但我找不到任何东西。如果有人有任何想法,我将不胜感激。

我一直在关注本教程

您可以在此处检查错误

在这里你可以访问我在 github 上的代码。

0 投票
2 回答
5767 浏览

django - 使用 django-jenkins 运行覆盖率测试

我有几个 Django 项目正在从事,我使用 Jenkins 进行持续集成。我已经安排并运行了一段时间,并且效果很好。

我希望能够生成自动测试覆盖率报告并让 Jenkins 处理它们。在我看来,django-jenkins是解决这个问题的方法,所以我安装了它并且coverage.

这是我的相关部分settings.py

现在,我可以运行了python manage.py jtest,它按预期工作。但是,如果我运行python manage.py jenkins,它会出错:

我使用标准的 DjangoTestCaseLiveServerTestCase类作为测试的基础。知道我在哪里出错了吗?该文档似乎暗示django_tests已被删除,但我找不到任何关于您现在如何运行 Django 测试的迹象。

我正在使用 Django 1.6.2。

0 投票
1 回答
492 浏览

django - 使用 django-jenkins 发现测试用例

我正在为我的项目使用 django 框架,现在为了进行持续集成,我计划使用 jenkins。自然 django-jenkins 是选择。

我正在使用 django 单元测试框架进行单元测试,并使用模式查找来发现测试用例。

我已经安装并配置了 django-jenkins 和所有其他必要的模块。现在,当我运行 jenking 来运行单元测试用例时,jenkins 无法发现测试用例。

在此处输入图像描述

在命名单元测试文件或单元测试用例本身时是否需要遵循一些语法?

我也找不到任何与詹金斯一起使用的模式搜索参数。

0 投票
1 回答
46 浏览

jenkins - 断言已执行单元测试的数量

我正在使用 Jenkins 通过 django-jenkins 在 Django 项目上运行单元测试。

最近,我发现一些单元测试没有被执行(有人错误地更改了import,导致 Jenkins 错过了一些单元测试文件)。

有没有办法assert确定 Jenkins 执行的测试数量?或者测试包的数量?