python - 在 Jenkins 构建步骤中使用非托管文件

标签 python git build jenkins

我今天刚刚开始使用 Jenkins,所以我完全有可能错过了文档中的某些内容。

我目前已将 Jenkins 设置为从本地 Git 存储库(通过插件)运行单元测试。我已经正确设置了环境(至少在看似工作的情况下),但遇到了一个小障碍。

我有一个 settings.py 文件,已从我的 git 存储库中排除(它包含我在应用程序中使用的一些键)。我不想将该文件包含到我的 git 存储库中,因为我计划在完成后对该项目进行操作系统(任何使用该项目的人都需要自己的 key )。我意识到这可能不是最好的方法,但它就是这样做的(而且这是一个小型的个人项目),所以我并不担心。

问题是,因为它不在 git 管理之下,所以 Jenkins 不会拾取它。

我希望能够在运行测试之前将这个文件从我的源目录复制到 Jenkins 构建目录。

有办法做到这一点吗?我尝试过使用复制到从属插件,但似乎我想要的任何文件都需要首先(手动)在workspace/userContent中复制或创建。我错过了什么吗?

最佳答案

我建议使用一些环境变量,例如 MYPROJECT_SETTINGS。因此,当通过 Jenkins 运行任务时,您可以将默认路径覆盖为可放置 Jenkins 设置文件的任何路径。

如果您不想手动将设置文件复制到每个构建机器,则另一个选项是使用一些默认的假 key (您可以将其添加到您的存储库中)和本地文件创建一个settings.py带有真实 key 的设置文件,它会覆盖一些选项,例如:

# settings.py file
SECRET_KEY = 'fake stuff'

try:
    from settings_local import *
except ImportError:
    pass

关于python - 在 Jenkins 构建步骤中使用非托管文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7479757/

相关文章:

python - `range(n, -1, -1)` 和 `reversed(range(0, n+1))` 之间有什么区别吗?

Git 从 Netbeans 推送到 Gerrit

gcc - 如何构建 MinGW W64

git - TortoiseGit 与 Git 扩展

Android gradle build 错误 :(9, 0) Gradle DSL 方法未找到 : 'compile()' .

c - 在优化构建时,调试信息是否会从库中删除?

python - 使用自定义 python JSON 编码器在字典中编码 float

python - Python 中的 Selenium Wire 选项

python - 防止 PyQt 使插槽中发生的异常静音

git - 在存储库中移动文件时如何在 bitbucket 上保留历史记录