我今天刚刚开始使用Jenkins,所以我完全有可能错过了文档中的内容。
我目前让Jenkins设置为从本地Git仓库运行单元测试(通过插件)。我已经正确地设置了环境(至少在看似正常的工作条件下),但是遇到了一个小障碍。
我有一个我从git repo中排除的settings.py文件(它包含我在我的应用程序中使用的几个键)。我不希望将该文件包含到我的git仓库中,因为我在计划完成项目操作系统时(任何使用该项目的人都需要自己的密钥)。我意识到这可能不是最好的这样做的方式,但它是完成的(并且它是一个小的个人项目),所以我不关心它。
问题在于,因为它不受git管理,Jenkins不会接受它。
我希望能够在运行测试之前将这个单个文件从我的源目录复制到Jenkins构建目录。
有办法做到这一点吗?我已经尝试使用copy to slave
插件,但似乎我想要的任何文件首先(手动)需要在workspace/userContent
中复制或创建。我错过了什么吗?
答案 0 :(得分:1)
我建议使用一些环境变量,比如MYPROJECT_SETTINGS。因此,当Jenkins运行任务时,您可以覆盖默认路径,以便将Jenkins的设置文件放入其中。
如果您不想手动将设置文件复制到每个构建计算机,另一个选项是使用一些默认的假密钥进行settings.py,您可以将其添加到您的仓库和本地具有真实键的设置文件,它覆盖了一些选项,例如:
# settings.py file
SECRET_KEY = 'fake stuff'
try:
from settings_local import *
except ImportError:
pass
答案 1 :(得分:0)
我正在使用Copy Data To Workspace插件,Copy to Slave插件也应该可以工作,但我发现Copy Data To Workspace Plugin更容易使用这个用例。
答案 2 :(得分:0)
为什么不在jenkins中使用“echo my-secret-keys> settings.txt”并调整脚本来读取此文件以便将其添加到报告中?