我今天刚刚开始使用 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/