J. *_*ker 8 python packaging jenkins tox
我正在研究Python应用程序如何也可以使用CI管道,但我不确定如何创建标准工作流程.
Jenkins用于执行初始存储库克隆,然后启动tox.基本上这是maven和/或msbuild将获得依赖包和构建.... tox通过pip做的地方,所以这里都很好.
但现在对于令人困惑的部分,管道的最后一部分是创建和上传包.开发人员可能会将创建的包上传到本地pip存储库,但也可能会创建一个部署包.在这种情况下,它需要是一个包含应用程序virtualenv的RPM.我已经使用rpmvenev手动创建了一个,但不管它是如何制作的,如何将这样的步骤添加到tox配置中?在rpmvenv的情况下,它创建了自己的virtualenv,可以说是一个自包含的命令.
我喜欢用 Unix 哲学来解决这个问题。拥有一个可以将一件事做得非常出色的工具,然后将其他工具组合在一起。Tox 是专门为在一堆不同的 python 环境中运行测试而构建的,因此使用它来为你构建 deb / rpm / 等我觉得有点滥用该工具。使用 tox 来运行所有测试可能更容易,然后根据结果在管道中执行另一个步骤来为刚刚测试的内容构建包。
在撰写本文时,Jenkins 2.x 是相当新的版本,似乎在构建管道方面要好得多。BuildBot 正在经历大量的开发,并且已经使得为此构建良好的管道变得相当容易。
我们在工作中所做的是
该 deb 包也可以作为构建工件使用,类似于 Jenkins 1.x 的做法。一旦我们准备好进行登台,我们只需将该软件包手动升级到登台 debian 存储库即可。将其滚动到产品中也是如此。
我发现对这一切有用的工具:
归档时间: |
|
查看次数: |
877 次 |
最近记录: |